{ "openapi": "3.2.0", "info": { "title": "REZICS API", "version": "1.11.0" }, "components": { "schemas": { "VndbSourceIntake": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "source": { "type": "string", "const": "vndb" }, "objectType": { "type": "string", "enum": ["vn", "release", "staff", "producer", "character", "tag", "trait", "quote"] }, "externalId": { "type": "string", "minLength": 1, "maxLength": 512 } }, "required": ["source", "objectType", "externalId"], "additionalProperties": false, "$id": "#/components/schemas/VndbSourceIntake" }, "MusicBrainzSourceIntake": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "source": { "type": "string", "const": "musicbrainz" }, "objectType": { "type": "string", "enum": [ "release", "recording", "work", "release_group", "artist", "label", "area", "place", "event", "instrument", "series", "genre", "url" ] }, "externalId": { "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)$" } }, "required": ["source", "objectType", "externalId"], "additionalProperties": false, "$id": "#/components/schemas/MusicBrainzSourceIntake" }, "BangumiSourceIntake": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "source": { "type": "string", "const": "bangumi" }, "objectType": { "type": "string", "enum": ["subject", "person", "character", "episode", "index"] }, "externalId": { "type": "string", "pattern": "^[1-9][0-9]*$" } }, "required": ["source", "objectType", "externalId"], "additionalProperties": false, "$id": "#/components/schemas/BangumiSourceIntake" }, "OpenLibrarySourceIntake": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "source": { "type": "string", "const": "openlibrary" }, "objectType": { "type": "string", "enum": ["work", "edition", "author"] }, "externalId": { "type": "string", "minLength": 1, "maxLength": 512 } }, "required": ["source", "objectType", "externalId"], "additionalProperties": false, "$id": "#/components/schemas/OpenLibrarySourceIntake" }, "JsonValue": { "anyOf": [ { "type": "null" }, { "type": "boolean" }, { "type": "number" }, { "type": "string" }, { "type": "array", "items": { "$ref": "#/components/schemas/JsonValue" } }, { "type": "object", "patternProperties": { "^(.*)$": { "$ref": "#/components/schemas/JsonValue" } } } ], "$id": "#/components/schemas/JsonValue" }, "LocalizationFilter": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/LocalizationFilter" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/LocalizationFilter" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/LocalizationFilter" }, "language": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "minItems": 1, "maxItems": 7, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/LocalizationFilter" }, "ContentLanguageSupportFilter": { "type": "object", "required": ["languageTag"], "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channel": { "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } }, "additionalProperties": false, "$id": "#/components/schemas/ContentLanguageSupportFilter" }, "RealmPlacementFilter": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/RealmPlacementFilter" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/RealmPlacementFilter" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/RealmPlacementFilter" }, "realm": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "status": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": ["pending", "visible", "hidden", "removed"], "type": "string" }, "minItems": 1, "maxItems": 4, "uniqueItems": true } }, "additionalProperties": false }, "publicationState": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": ["active", "withdrawn"], "type": "string" }, "minItems": 1, "maxItems": 2, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/RealmPlacementFilter" }, "TagAssertionFilter": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/TagAssertionFilter" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/TagAssertionFilter" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/TagAssertionFilter" }, "tag": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "authority": { "anyOf": [ { "type": "object", "required": ["kind", "view"], "properties": { "kind": { "type": "string", "const": "global" }, "view": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "effective" }, "consensus": { "type": "object", "properties": { "score": { "anyOf": [ { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "integer" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, { "type": "object", "required": ["range"], "properties": { "range": { "anyOf": [ { "type": "object", "required": ["minimum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false }, { "type": "object", "required": ["maximum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false } ] } }, "additionalProperties": false } ] }, "voteCount": { "anyOf": [ { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "integer" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, { "type": "object", "required": ["range"], "properties": { "range": { "anyOf": [ { "type": "object", "required": ["minimum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false }, { "type": "object", "required": ["maximum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false } ] } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "direct" } }, "additionalProperties": false } ] } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "realm", "view"], "properties": { "kind": { "type": "string", "const": "realm" }, "realm": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "view": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "policy" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "community" }, "consensus": { "type": "object", "properties": { "score": { "anyOf": [ { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "integer" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, { "type": "object", "required": ["range"], "properties": { "range": { "anyOf": [ { "type": "object", "required": ["minimum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false }, { "type": "object", "required": ["maximum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false } ] } }, "additionalProperties": false } ] }, "voteCount": { "anyOf": [ { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "integer" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, { "type": "object", "required": ["range"], "properties": { "range": { "anyOf": [ { "type": "object", "required": ["minimum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false }, { "type": "object", "required": ["maximum"], "properties": { "minimum": { "type": "integer" }, "maximum": { "type": "integer" } }, "additionalProperties": false } ] } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false } ] } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "profile"], "properties": { "kind": { "type": "string", "const": "profile" }, "profile": { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "viewer" } }, "additionalProperties": false } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/TagAssertionFilter" }, "ScoreFilter": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/ScoreFilter" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/ScoreFilter" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/ScoreFilter" }, "value": { "anyOf": [ { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "integer", "minimum": 1, "maximum": 10 }, "minItems": 1, "maxItems": 10, "uniqueItems": true } }, "additionalProperties": false }, { "type": "object", "required": ["range"], "properties": { "range": { "anyOf": [ { "type": "object", "required": ["minimum"], "properties": { "minimum": { "type": "integer", "minimum": 1, "maximum": 10 }, "maximum": { "type": "integer", "minimum": 1, "maximum": 10 } }, "additionalProperties": false }, { "type": "object", "required": ["maximum"], "properties": { "minimum": { "type": "integer", "minimum": 1, "maximum": 10 }, "maximum": { "type": "integer", "minimum": 1, "maximum": 10 } }, "additionalProperties": false } ] } }, "additionalProperties": false } ] }, "realm": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "target": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "author": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "viewer" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "id"], "properties": { "kind": { "type": "string", "const": "profile" }, "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/ScoreFilter" }, "PostFilter": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/PostFilter" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/PostFilter" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/PostFilter" }, "kind": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "post", "reply", "excerpt", "review", "chapter", "page", "wiki", "picture", "governance_note" ], "type": "string" }, "minItems": 1, "maxItems": 9, "uniqueItems": true } }, "additionalProperties": false }, "subject": { "anyOf": [ { "type": "object", "required": ["is"], "properties": { "is": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": ["absent"], "properties": { "absent": { "type": "boolean", "const": true } }, "additionalProperties": false } ] }, "scores": { "type": "object", "properties": { "displayed": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "$ref": "#/components/schemas/ScoreFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "$ref": "#/components/schemas/ScoreFilter" } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false }, "explainsRealmTag": { "type": "object", "required": ["realm"], "properties": { "realm": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "tag": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/PostFilter" }, "RealmTagContextFilter": { "type": "object", "required": ["realm"], "properties": { "realm": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "tag": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false, "$id": "#/components/schemas/RealmTagContextFilter" }, "CollectionFilter": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionFilter" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionFilter" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/CollectionFilter" }, "items": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/CollectionFilter" }, "UnitPredicate": { "type": "object", "properties": { "all": { "type": "array", "items": { "$ref": "#/components/schemas/UnitPredicate" }, "minItems": 1, "maxItems": 20 }, "any": { "type": "array", "items": { "$ref": "#/components/schemas/UnitPredicate" }, "minItems": 1, "maxItems": 20 }, "not": { "$ref": "#/components/schemas/UnitPredicate" }, "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "localizations": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "$ref": "#/components/schemas/LocalizationFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "$ref": "#/components/schemas/LocalizationFilter" } }, "additionalProperties": false } ] }, "contentLanguageSupport": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "type": "object", "required": ["languageTag"], "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channel": { "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "type": "object", "required": ["languageTag"], "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channel": { "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false } ] }, "realms": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "$ref": "#/components/schemas/RealmPlacementFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "$ref": "#/components/schemas/RealmPlacementFilter" } }, "additionalProperties": false } ] }, "tags": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "$ref": "#/components/schemas/TagAssertionFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "$ref": "#/components/schemas/TagAssertionFilter" } }, "additionalProperties": false } ] }, "creditAttributions": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false } ] }, "subjectAssociations": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "type": "object", "properties": { "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false }, "owner": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "additionalProperties": false }, "shape": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$", "minLength": 1, "maxLength": 96 }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false } }, "additionalProperties": false } ] }, "publishers": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "viewer" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "id"], "properties": { "kind": { "type": "string", "const": "profile" }, "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false } ] } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "viewer" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "id"], "properties": { "kind": { "type": "string", "const": "profile" }, "id": { "type": "object", "required": ["in"], "properties": { "in": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false } ] } }, "additionalProperties": false } ] }, "scores": { "type": "object", "properties": { "received": { "anyOf": [ { "type": "object", "required": ["some"], "properties": { "some": { "$ref": "#/components/schemas/ScoreFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["none"], "properties": { "none": { "$ref": "#/components/schemas/ScoreFilter" } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false }, "post": { "anyOf": [ { "type": "object", "required": ["is"], "properties": { "is": { "$ref": "#/components/schemas/PostFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["absent"], "properties": { "absent": { "type": "boolean", "const": true } }, "additionalProperties": false } ] }, "collection": { "anyOf": [ { "type": "object", "required": ["is"], "properties": { "is": { "$ref": "#/components/schemas/CollectionFilter" } }, "additionalProperties": false }, { "type": "object", "required": ["absent"], "properties": { "absent": { "type": "boolean", "const": true } }, "additionalProperties": false } ] } }, "minProperties": 1, "additionalProperties": false, "$id": "#/components/schemas/UnitPredicate" }, "SearchMatch": { "type": "object", "required": ["query"], "properties": { "query": { "type": "string", "minLength": 1, "maxLength": 500 } }, "additionalProperties": false, "$id": "#/components/schemas/SearchMatch" }, "UnitFilter": { "anyOf": [ { "type": "object", "required": ["search"], "properties": { "search": { "$ref": "#/components/schemas/SearchMatch" }, "where": { "$ref": "#/components/schemas/UnitPredicate" } }, "additionalProperties": false }, { "type": "object", "required": ["where"], "properties": { "where": { "$ref": "#/components/schemas/UnitPredicate" } }, "additionalProperties": false } ], "$id": "#/components/schemas/UnitFilter" }, "DockDocument": { "type": "object", "required": ["_type", "_key", "blocks"], "properties": { "_type": { "type": "string", "const": "dock-document" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "blocks": { "type": "array", "items": { "$ref": "#/components/schemas/UnitReferencedBlock" }, "maxItems": 100 } }, "additionalProperties": false, "$id": "#/components/schemas/DockDocument" }, "NavigationDocument": { "type": "object", "required": ["_type", "_key", "items"], "properties": { "_type": { "type": "string", "const": "navigation-document" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/NavigationItem" }, "minItems": 1 } }, "additionalProperties": false, "$id": "#/components/schemas/NavigationDocument" }, "NavigationItem": { "anyOf": [ { "type": "object", "required": ["_key", "labelUnitId", "target"], "properties": { "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "labelUnitId": { "type": "string", "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}$" }, "target": { "anyOf": [ { "type": "object", "required": ["kind", "unitId"], "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 1, "maxLength": 2000, "pattern": "^https://" } }, "additionalProperties": false } ] } }, "additionalProperties": false }, { "type": "object", "required": ["_key", "labelUnitId", "children"], "properties": { "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "labelUnitId": { "type": "string", "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}$" }, "children": { "type": "array", "items": { "$ref": "#/components/schemas/NavigationItem" }, "minItems": 1 } }, "additionalProperties": false } ], "$id": "#/components/schemas/NavigationItem" }, "PortableTextDocument": { "type": "object", "required": ["_type", "_key", "content"], "properties": { "_type": { "type": "string", "const": "portable-text" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "content": { "type": "array", "items": { "anyOf": [ { "type": "object", "required": ["_key", "_type", "children"], "properties": { "_key": { "type": "string" }, "_type": { "type": "string", "const": "block" }, "children": { "type": "array", "items": { "anyOf": [ { "type": "object", "required": ["_key", "_type", "text"], "properties": { "_key": { "type": "string" }, "_type": { "type": "string", "const": "span" }, "text": { "type": "string" }, "marks": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false, "$id": "PortableTextSpan" }, { "type": "object", "required": ["_key", "_type", "unitId"], "properties": { "_key": { "type": "string" }, "_type": { "type": "string", "const": "unit-mention" }, "unitId": { "type": "string", "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}$" } }, "additionalProperties": false, "$id": "PortableTextUnitMention" } ], "$id": "PortableTextChild" } }, "markDefs": { "type": "array", "items": { "type": "object", "required": ["_key", "_type"], "properties": { "_key": { "type": "string" }, "_type": { "type": "string" } }, "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "$id": "PortableTextObject" } }, "listItem": { "type": "string" }, "style": { "type": "string" }, "level": { "type": "integer", "minimum": 1 } }, "additionalProperties": { "$ref": "#/components/schemas/JsonValue" }, "$id": "PortableTextTextBlock" }, { "type": "object", "required": ["_key", "_type", "assetId"], "properties": { "_key": { "type": "string" }, "_type": { "type": "string", "const": "image" }, "assetId": { "type": "string", "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}$" }, "alt": { "type": "string" }, "caption": { "type": "string" } }, "additionalProperties": false, "$id": "PortableTextImage" }, { "type": "object", "required": ["_key", "_type"], "properties": { "_key": { "type": "string" }, "_type": { "type": "string", "pattern": "^(?!(?:block|image)$).+" } }, "additionalProperties": { "$ref": "#/components/schemas/JsonValue" } } ], "$id": "PortableTextBlock" }, "$id": "PortableText" } }, "additionalProperties": false, "$id": "#/components/schemas/PortableTextDocument" }, "UnitReferencedBlockDocument": { "type": "object", "required": ["_type", "_key", "blocks"], "properties": { "_type": { "type": "string", "const": "block-document" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "blocks": { "type": "array", "items": { "$ref": "#/components/schemas/UnitReferencedBlock" }, "maxItems": 100 } }, "additionalProperties": false, "$id": "#/components/schemas/UnitReferencedBlockDocument" }, "UnitReferencedBlock": { "anyOf": [ { "type": "object", "required": ["_type", "_key", "postId"], "properties": { "_type": { "type": "string", "const": "post-full-view" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "postId": { "type": "string", "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}$" } }, "additionalProperties": false, "$id": "PostFullViewBlock" }, { "type": "object", "required": ["_type", "_key", "unitId", "appearance"], "properties": { "_type": { "type": "string", "const": "unit-ref" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "unitId": { "type": "string", "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}$" }, "appearance": { "type": "string", "enum": ["inline", "card", "cover"] } }, "additionalProperties": false, "$id": "UnitRefBlock" }, { "type": "object", "required": ["_type", "_key", "source", "layout", "limit"], "properties": { "_type": { "type": "string", "const": "unit-list" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "source": { "anyOf": [ { "type": "object", "required": ["kind", "unitIds"], "properties": { "kind": { "type": "string", "const": "units" }, "unitIds": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 100 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "collectionId"], "properties": { "kind": { "type": "string", "const": "collection" }, "collectionId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "feature"], "properties": { "kind": { "type": "string", "const": "search" }, "feature": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "global" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "zone" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "filterDocument"], "properties": { "kind": { "type": "string", "const": "inline" }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" } }, "additionalProperties": false } ] }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "select", "query", "fallback"], "properties": { "kind": { "type": "string", "const": "derived" }, "select": { "type": "object", "required": ["kind", "from", "seed"], "properties": { "kind": { "type": "string", "const": "random-tag" }, "from": { "anyOf": [ { "type": "object", "required": ["kind", "collectionId"], "properties": { "kind": { "type": "string", "const": "collection" }, "collectionId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "viewer-follows" } }, "additionalProperties": false } ] }, "seed": { "anyOf": [ { "type": "object", "required": ["kind", "hours"], "properties": { "kind": { "type": "string", "const": "time-bucket" }, "hours": { "type": "string", "enum": [1, 6, 24] } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "request" } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "DerivedSearchSelector" }, "query": { "type": "object", "required": ["feature"], "properties": { "feature": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "global" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "zone" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "filterDocument"], "properties": { "kind": { "type": "string", "const": "inline" }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" } }, "additionalProperties": false } ] }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "additionalProperties": false }, "fallback": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "hide" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "collectionId"], "properties": { "kind": { "type": "string", "const": "collection" }, "collectionId": { "type": "string", "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}$" } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "DerivedSearchFeatureSource" } ] }, "layout": { "type": "string", "enum": ["list", "grid", "carousel", "wrap"] }, "limit": { "type": "integer", "minimum": 1, "maximum": 100 }, "presentation": { "type": "object", "properties": { "itemAppearance": { "type": "string", "enum": ["default", "identity-badge"] }, "itemSize": { "type": "string", "enum": ["sm", "md", "lg"] }, "headingUnitId": { "anyOf": [ { "type": "string", "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}$" }, { "type": "string", "const": "selected" } ] }, "headingPrefixUnitId": { "type": "string", "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}$" }, "viewAllTarget": { "anyOf": [ { "type": "object", "required": ["kind", "unitId"], "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 1, "maxLength": 2000, "pattern": "^https://" } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "UnitListPresentation" } }, "additionalProperties": false, "$id": "UnitListBlock" }, { "type": "object", "required": ["_type", "_key", "feature"], "properties": { "_type": { "type": "string", "const": "search" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "feature": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "global" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "zone" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "filterDocument"], "properties": { "kind": { "type": "string", "const": "inline" }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "SearchBlock" }, { "type": "object", "required": ["_type", "_key", "feature", "presentation"], "properties": { "_type": { "type": "string", "const": "feed" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "feature": { "anyOf": [ { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "global" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "zone" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "filterDocument"], "properties": { "kind": { "type": "string", "const": "inline" }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" } }, "additionalProperties": false } ] }, { "type": "object", "required": ["kind", "select", "query", "fallback"], "properties": { "kind": { "type": "string", "const": "derived" }, "select": { "type": "object", "required": ["kind", "from", "seed"], "properties": { "kind": { "type": "string", "const": "random-tag" }, "from": { "anyOf": [ { "type": "object", "required": ["kind", "collectionId"], "properties": { "kind": { "type": "string", "const": "collection" }, "collectionId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "viewer-follows" } }, "additionalProperties": false } ] }, "seed": { "anyOf": [ { "type": "object", "required": ["kind", "hours"], "properties": { "kind": { "type": "string", "const": "time-bucket" }, "hours": { "type": "string", "enum": [1, 6, 24] } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "request" } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "DerivedSearchSelector" }, "query": { "type": "object", "required": ["feature"], "properties": { "feature": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "global" } }, "additionalProperties": false }, { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "zone" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "filterDocument"], "properties": { "kind": { "type": "string", "const": "inline" }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" } }, "additionalProperties": false } ] }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "additionalProperties": false }, "fallback": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "hide" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "collectionId"], "properties": { "kind": { "type": "string", "const": "collection" }, "collectionId": { "type": "string", "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}$" } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "DerivedSearchFeatureSource" } ] }, "initialSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "presentation": { "type": "object", "required": ["pagination", "showResultCount"], "properties": { "pagination": { "type": "string", "enum": ["load-more", "infinite"] }, "showResultCount": { "type": "boolean" } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "FeedBlock" }, { "type": "object", "required": ["_type", "_key", "navigationId", "orientation", "appearance"], "properties": { "_type": { "type": "string", "const": "menu" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "navigationId": { "type": "string", "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}$" }, "orientation": { "type": "string", "enum": ["horizontal", "vertical"] }, "appearance": { "type": "string", "enum": ["links", "buttons", "tabs", "drawer"] } }, "additionalProperties": false, "$id": "MenuBlock" }, { "type": "object", "required": ["_type", "_key", "assetId"], "properties": { "_type": { "type": "string", "const": "image" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "assetId": { "type": "string", "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}$" }, "alt": { "type": "string" }, "caption": { "type": "string" } }, "additionalProperties": false, "$id": "ImageBlock" }, { "type": "object", "required": ["_type", "_key", "url"], "properties": { "_type": { "type": "string", "const": "url-image" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "url": { "type": "string", "minLength": 1, "maxLength": 2000, "pattern": "^https://" }, "alt": { "type": "string" }, "caption": { "type": "string" } }, "additionalProperties": false, "$id": "UrlImageBlock" }, { "type": "object", "required": ["_type", "_key", "style"], "properties": { "_type": { "type": "string", "const": "divider" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "style": { "type": "string", "enum": ["line", "space", "section"] } }, "additionalProperties": false, "$id": "DividerBlock" }, { "type": "object", "required": ["_type", "_key", "columns"], "properties": { "_type": { "type": "string", "const": "columns" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "columns": { "type": "array", "items": { "type": "object", "required": ["_key", "weight", "blocks"], "properties": { "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "weight": { "type": "integer", "minimum": 1, "maximum": 12 }, "blocks": { "type": "array", "items": { "$ref": "#/components/schemas/UnitReferencedBlock" }, "minItems": 1, "maxItems": 50 } }, "additionalProperties": false }, "minItems": 2, "maxItems": 12 } }, "additionalProperties": false }, { "type": "object", "required": ["_type", "_key", "layout", "blocks"], "properties": { "_type": { "type": "string", "const": "group" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "layout": { "type": "string", "enum": ["stack", "row", "grid"] }, "blocks": { "type": "array", "items": { "$ref": "#/components/schemas/UnitReferencedBlock" }, "minItems": 1, "maxItems": 50 } }, "additionalProperties": false }, { "type": "object", "required": ["_type", "_key", "tone", "blocks"], "properties": { "_type": { "type": "string", "const": "callout" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "tone": { "type": "string", "enum": ["neutral", "info", "success", "warning", "danger"] }, "labelUnitId": { "type": "string", "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}$" }, "blocks": { "type": "array", "items": { "$ref": "#/components/schemas/UnitReferencedBlock" }, "minItems": 1, "maxItems": 20 } }, "additionalProperties": false }, { "type": "object", "required": ["_type", "_key", "tabs"], "properties": { "_type": { "type": "string", "const": "tabs" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "classNames": { "type": "array", "items": { "type": "string", "minLength": 14, "maxLength": 64, "pattern": "^rezics-theme-[A-Za-z0-9_-]+$" }, "maxItems": 8, "uniqueItems": true }, "tabs": { "type": "array", "items": { "type": "object", "required": ["_key", "labelUnitId", "blocks"], "properties": { "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "labelUnitId": { "type": "string", "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}$" }, "blocks": { "type": "array", "items": { "$ref": "#/components/schemas/UnitReferencedBlock" }, "minItems": 1, "maxItems": 50 } }, "additionalProperties": false }, "minItems": 2, "maxItems": 12 } }, "additionalProperties": false } ], "$id": "#/components/schemas/UnitReferencedBlock" }, "SearchControlExpression": { "anyOf": [ { "type": "object", "required": ["controlKey", "filter"], "properties": { "controlKey": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "filter": { "$ref": "#/components/schemas/SearchControlPredicate" } }, "additionalProperties": false, "$id": "SearchControlValue" }, { "type": "object", "required": ["operator", "clauses"], "properties": { "operator": { "type": "string", "enum": ["all", "any"] }, "clauses": { "type": "array", "items": { "$ref": "#/components/schemas/SearchControlExpression" }, "minItems": 1, "maxItems": 20 } }, "additionalProperties": false }, { "type": "object", "required": ["operator", "clause"], "properties": { "operator": { "type": "string", "const": "not" }, "clause": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false } ], "$id": "#/components/schemas/SearchControlExpression" }, "SearchControlPredicate": { "anyOf": [ { "type": "object", "required": ["field", "operator", "value"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at" ], "type": "string" }, "operator": { "type": "string", "const": "equals" }, "value": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] } }, "additionalProperties": false }, { "type": "object", "required": ["field", "operator", "value"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at" ], "type": "string" }, "operator": { "type": "string", "const": "not-equals" }, "value": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] } }, "additionalProperties": false }, { "type": "object", "required": ["field", "operator", "values"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at" ], "type": "string" }, "operator": { "type": "string", "enum": ["any-of", "all-of", "none-of"] }, "values": { "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "minItems": 1, "maxItems": 50 } }, "additionalProperties": false }, { "anyOf": [ { "type": "object", "required": ["field", "operator", "lower"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at" ], "type": "string" }, "operator": { "type": "string", "const": "range" }, "lower": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "upper": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] } }, "additionalProperties": false }, { "type": "object", "required": ["field", "operator", "upper"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at" ], "type": "string" }, "operator": { "type": "string", "const": "range" }, "lower": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "upper": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] } }, "additionalProperties": false } ] }, { "type": "object", "required": ["field", "operator", "value"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at" ], "type": "string" }, "operator": { "type": "string", "const": "exists" }, "value": { "type": "boolean" } }, "additionalProperties": false }, { "anyOf": [ { "type": "object", "required": ["field", "operator", "value"], "properties": { "field": { "type": "string", "const": "collection" }, "operator": { "type": "string", "enum": ["equals", "not-equals"] }, "value": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["field", "operator", "values"], "properties": { "field": { "type": "string", "const": "collection" }, "operator": { "type": "string", "enum": ["any-of", "all-of", "none-of"] }, "values": { "type": "array", "items": { "type": "string", "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}$" }, "minItems": 1, "maxItems": 50, "uniqueItems": true } }, "additionalProperties": false } ], "$id": "SearchCollectionMembershipFilter" }, { "type": "object", "required": ["field", "operator", "realmId", "tagId"], "properties": { "field": { "type": "string", "const": "realm-tag-vote" }, "operator": { "type": "string", "const": "matches" }, "realmId": { "type": "string", "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}$" }, "tagId": { "type": "string", "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}$" }, "score": { "anyOf": [ { "type": "object", "required": ["lower"], "properties": { "lower": { "type": "integer" }, "upper": { "type": "integer" } }, "additionalProperties": false }, { "type": "object", "required": ["upper"], "properties": { "lower": { "type": "integer" }, "upper": { "type": "integer" } }, "additionalProperties": false } ] }, "voteCount": { "anyOf": [ { "type": "object", "required": ["lower"], "properties": { "lower": { "type": "integer", "minimum": 0 }, "upper": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["upper"], "properties": { "lower": { "type": "integer", "minimum": 0 }, "upper": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ] } }, "additionalProperties": false, "$id": "SearchRealmTagVoteFilter" } ], "$id": "#/components/schemas/SearchControlPredicate" }, "FilterDocument": { "type": "object", "properties": { "categories": { "type": "array", "items": { "enum": [ "units", "entities", "tags", "posts", "realms", "collections", "reviews", "polls" ], "type": "string" }, "minItems": 1, "maxItems": 8 }, "where": { "$ref": "#/components/schemas/UnitPredicate" }, "controls": { "type": "array", "items": { "type": "object", "required": ["key"], "properties": { "key": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at", "collection", "realm-tag-vote" ], "type": "string" }, "enabled": { "type": "boolean" }, "disclosure": { "type": "string", "enum": ["visible", "hidden"] }, "labelUnitId": { "type": "string", "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}$" }, "optionPolicy": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "all" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "values"], "properties": { "kind": { "type": "string", "const": "include" }, "values": { "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "minItems": 1, "maxItems": 100 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "values"], "properties": { "kind": { "type": "string", "const": "exclude" }, "values": { "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "minItems": 1, "maxItems": 100 } }, "additionalProperties": false } ] }, "required": { "type": "boolean" } }, "additionalProperties": false, "$id": "FilterDocumentControl" }, "maxItems": 50 } }, "additionalProperties": false, "$id": "#/components/schemas/FilterDocument" }, "ZoneAppearanceDocument": { "type": "object", "required": ["_type", "_key", "colorScheme", "accent", "density"], "properties": { "_type": { "type": "string", "const": "zone-appearance" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "colorScheme": { "type": "string", "enum": ["system", "light", "dark"] }, "accent": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "density": { "type": "string", "enum": ["comfortable", "compact"] }, "heroAssetId": { "type": "string", "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}$" }, "cardRadius": { "type": "string", "enum": ["sm", "md", "lg"] }, "headingFontScale": { "type": "string", "enum": ["sm", "md", "lg"] }, "surfaceTint": { "type": "string", "enum": ["none", "subtle", "accent"] } }, "additionalProperties": false, "$id": "#/components/schemas/ZoneAppearanceDocument" }, "ResolvedUnitPresentationResponse": { "$id": "#/components/schemas/ResolvedUnitPresentationResponse", "type": "object", "properties": { "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "document": { "$ref": "#/components/schemas/UnitPresentationDocumentV0" }, "documentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "customTheme": { "nullable": true, "type": ["object", "null"], "properties": { "revisionId": { "type": "string", "format": "uuid" }, "customThemeUnitId": { "type": "string", "format": "uuid" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "executionAudience": { "type": "string", "const": "capability_gated_preview" }, "approvalScope": { "type": "object", "properties": { "kind": { "type": "string", "const": "host_unit" }, "hostUnitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "hostUnitId"] }, "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "externalResources": { "type": "array", "items": { "type": "object", "required": [ "resourceKey", "role", "requestedUrl", "finalUrl", "redirectChain", "observedSha256", "observedByteLength", "observedContentType", "observedAt", "corsAllowsAnonymous", "required", "effectiveIntegrity", "integrityWaiverReason" ], "properties": { "resourceKey": { "type": "string", "minLength": 1, "maxLength": 200 }, "role": { "type": "string", "minLength": 1, "maxLength": 64 }, "requestedUrl": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "finalUrl": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "redirectChain": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "maxItems": 6 }, "observedSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "observedByteLength": { "type": "integer", "minimum": 0, "maximum": 5242880 }, "observedContentType": { "type": "string", "minLength": 1, "maxLength": 255 }, "observedAt": { "type": "string", "format": "date-time" }, "corsAllowsAnonymous": { "type": "boolean" }, "required": { "type": "boolean" }, "effectiveIntegrity": { "type": ["string", "null"], "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": ["string", "null"], "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false, "$id": "ReviewedExternalResourceV0" } }, "packagedFiles": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "role": { "default": "manifest", "enum": [ "manifest", "source_archive", "html", "css", "js", "worker", "wasm", "font", "svg", "asset" ], "type": "string" }, "contentType": { "type": "string" }, "sha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "contentUrl": { "minLength": 1, "type": "string" } }, "required": ["path", "role", "contentType", "sha256", "contentUrl"] } } }, "required": [ "revisionId", "customThemeUnitId", "executionMode", "resourceMode", "executionAudience", "approvalScope", "manifest", "externalResources", "packagedFiles" ] }, "fallbackReason": { "nullable": true, "default": "none_installed", "enum": [ "none_installed", "safe_mode", "global_disabled", "viewer_ineligible", "viewer_opt_out", "revision_unavailable" ], "type": ["string", "null"] } }, "required": [ "targetContract", "document", "documentRevisionId", "customTheme", "fallbackReason" ] }, "UnitPresentationDocumentV0": { "type": "object", "required": ["_type", "_key", "header", "footer"], "properties": { "_type": { "type": "string", "const": "unit-presentation-document" }, "_key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" }, "header": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "footer": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" } }, "additionalProperties": false, "$id": "#/components/schemas/UnitPresentationDocumentV0" }, "UnitPresentationResponse": { "$id": "#/components/schemas/UnitPresentationResponse", "type": "object", "properties": { "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "document": { "$ref": "#/components/schemas/UnitPresentationDocumentV0" }, "revisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["targetContract", "document", "revisionId"] }, "SearchFeatureDefinition": { "type": "object", "required": ["filterDocument", "categories", "query", "sort", "controls"], "properties": { "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "categories": { "type": "array", "items": { "enum": [ "units", "entities", "tags", "posts", "realms", "collections", "reviews", "polls" ], "type": "string" }, "minItems": 1, "maxItems": 8 }, "query": { "type": "object", "required": ["enabled"], "properties": { "enabled": { "type": "boolean" }, "required": { "type": "boolean" } }, "additionalProperties": false }, "sort": { "type": "object", "required": ["search", "feed"], "properties": { "search": { "type": "object", "required": ["defaults", "options"], "properties": { "defaults": { "type": "object", "required": ["emptyQuery", "textQuery"], "properties": { "emptyQuery": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "textQuery": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "additionalProperties": false }, "options": { "type": "array", "items": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "minItems": 1, "maxItems": 18 } }, "additionalProperties": false, "$id": "SearchSortConfiguration" }, "feed": { "type": "object", "required": ["defaults", "options"], "properties": { "defaults": { "type": "object", "required": ["emptyQuery", "textQuery"], "properties": { "emptyQuery": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "textQuery": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "additionalProperties": false }, "options": { "type": "array", "items": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "minItems": 1, "maxItems": 18 } }, "additionalProperties": false, "$id": "SearchSortConfiguration" } }, "additionalProperties": false }, "controls": { "type": "array", "items": { "type": "object", "required": ["key", "field", "component", "operators", "enabled", "disclosure"], "properties": { "key": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at", "collection", "realm-tag-vote" ], "type": "string" }, "component": { "type": "string", "enum": [ "select", "multi-select", "toggle", "date-range", "value-range", "realm-tag-vote" ] }, "operators": { "type": "array", "items": { "enum": [ "equals", "not-equals", "any-of", "all-of", "none-of", "range", "exists", "matches" ], "type": "string" }, "minItems": 1, "maxItems": 8 }, "optionSource": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "facet" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "options"], "properties": { "kind": { "type": "string", "const": "static" }, "options": { "type": "array", "items": { "type": "object", "required": ["value"], "properties": { "value": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "labelUnitId": { "type": "string", "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}$" } }, "additionalProperties": false }, "minItems": 1, "maxItems": 100 } }, "additionalProperties": false } ] }, "optionPolicy": { "anyOf": [ { "type": "object", "required": ["kind"], "properties": { "kind": { "type": "string", "const": "all" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "values"], "properties": { "kind": { "type": "string", "const": "include" }, "values": { "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "minItems": 1, "maxItems": 100 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "values"], "properties": { "kind": { "type": "string", "const": "exclude" }, "values": { "type": "array", "items": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 500 }, { "type": "number" }, { "type": "boolean" } ] }, "minItems": 1, "maxItems": 100 } }, "additionalProperties": false } ] }, "labelUnitId": { "type": "string", "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}$" }, "required": { "type": "boolean", "default": false }, "enabled": { "type": "boolean" }, "disclosure": { "type": "string", "enum": ["visible", "hidden"] } }, "additionalProperties": false, "$id": "ResolvedSearchControl" }, "maxItems": 50 } }, "additionalProperties": false, "$id": "#/components/schemas/SearchFeatureDefinition" }, "ApiErrorCode": { "type": "string", "enum": [ "CatalogReferenceNotFound", "CatalogRevisionConflict", "CatalogSourceRequestLimited", "CatalogSourceUnavailable", "ParticipationDenied", "FavoriteNotFound", "FavoriteRevisionConflict", "OrganizationMembershipConflict", "OrganizationMembershipNotFound", "OrganizationMembershipCapacityExceeded", "MalformedRequestBody", "ValidationError", "InternalError", "RouteNotFound", "VoteHotKeyBusy", "TagNotDirectlyApplicable", "ContentLabelApplicationInvalid", "ContentLabelJudgmentForbidden", "ContentLabelUnitMergeForbidden", "TagApplicationHasJudgments", "RealmTagContextInUse", "ContentLabelPlatformApplyForbidden", "ContentLabelPlatformIdentityImmutable", "ContentLabelPlatformRemovalForbidden", "AuthenticationRequired", "ApiTokenPermissionRequired", "ApiTokenRateLimitExceeded", "ApiQuotaExceeded", "InteractiveSessionRequired", "FreshSessionRequired", "EmailVerificationRequired", "AccountSuspended", "AccountClosed", "AccountRestricted", "RealmCapabilityRequired", "RealmRulesAcceptanceRequired", "PlatformCapabilityRequired", "PlatformAccessManagerRequired", "PlatformAccessRevisionConflict", "PlatformAccessConfigurationInvalid", "CustomThemeExternalLiveAccessSelfMutationForbidden", "CollectionOwnershipRequired", "AccessDenied", "AccessUnavailable", "AccessChanged", "AccessInputInvalid", "AccessRecordUnavailable", "UnitNotFound", "UnitPermissionForbidden", "UnitAccessRestricted", "UnitLicenseGrantForbidden", "UnitLicenseNotApplicable", "UnitLicenseOfferingEndForbidden", "UnitLicenseGrantConflict", "UnitChanged", "UnitContentLanguageSupportInvalid", "VideoAudioTrackInvalid", "UnitRealmPublicationNotFound", "UnitRealmPublicationAlreadyExists", "UnitRealmPublicationTransitionInvalid", "UnitRevisionConflict", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired", "UnitLocalizationOrderChanged", "UnitLocalizationOrderInvalid", "UnitLocalizationNotFound", "UnitLastLocalizationRemovalForbidden", "UnitVariantKindMismatch", "UnitVariantTargetIsVariant", "UnitVariantSourceHasVariants", "UnitVariantGroupLimitReached", "UnitVariantChanged", "UnitVariantMainUnavailable", "InvalidSlug", "SlugTaken", "SlugReserved", "ProfileSlugChangeUnavailable", "SlugScopeNotFound", "SlugScopeUnavailable", "SlugScopeCycle", "SlugDepthExceeded", "UnitAddressMutationForbidden", "SlugRedirectNotFound", "UnitSlugAddressNotFound", "AssociationProposalNotFound", "AssociationProposalConflict", "AssociationProposalExpired", "AssociationProposalExpiryInvalid", "AssociationProposalRoleInvalid", "AssociationContextPostInvalid", "EntityEntryNotFound", "EntityAssociationRestricted", "CreditAttributionNotFound", "CreditAttributionRoleInvalid", "CreditAttributionRequestConfirmationRequired", "SubjectAssociationNotFound", "UserSelfFollowForbidden", "UserFollowBlocked", "FollowingTargetKindMismatch", "ImageAssetNotFound", "ImageAssetUploadNotFound", "ImageAssetUnsupportedType", "ImageAssetInvalidSize", "ImageAssetContentMismatch", "ImageAssetInvalidState", "ImageAssetInvalidPresentation", "ImageAssetInUse", "ApiTokenNotFound", "ApiTokenLimitReached", "ApiTokenQuotaOverrideInvalid", "ApiTokenQuotaOverrideRevisionConflict", "ApiQuotaPolicyNotFound", "ApiQuotaPolicyInvalid", "ApiQuotaPolicyKeyConflict", "ApiQuotaPolicyRevisionConflict", "ApiAccountQuotaRevisionConflict", "ApiTokenQuotaRevisionConflict", "TagNotFound", "TagPathNotFound", "TagPathApplicationNotFound", "InvalidTagPath", "TagPathDefinitionConflict", "TagPathMergeNotFound", "InvalidTagPathMerge", "InvalidSearch", "SearchUnavailable", "SharedSearchQueryNotFound", "InvalidPaginationCursor", "ProfileNotFound", "ProfileChanged", "PreferencesNotFound", "UserNotFound", "UserSelfBlockForbidden", "UserAccountStateRevisionConflict", "UserSelfStatusChangeForbidden", "PlatformUserManagerRequired", "UserAccountStateExpiryInvalid", "SessionNotFound", "StudioRealmSubjectLimitExceeded", "ZonePageNotFound", "ZonePageInUse", "ZoneNavigationNotFound", "ZoneNavigationInUse", "ZoneDocumentInvalid", "ZoneTimeRangeInvalid", "ZoneRuleRealmInvalid", "DockNotFound", "DockNotSupported", "DockDocumentInvalid", "DockRevisionConflict", "PollOptionsDuplicated", "PollNotFound", "PollClosed", "PollSingleChoiceInvalid", "PollOptionInvalid", "PollAlreadyClosed", "ProgressEntryNotFound", "ContentStructureInvalid", "ContentStructureNotFound", "ContentStructureRevisionConflict", "BookNotFound", "MediaNotFound", "ContentStructureNodeNotFound", "ChapterNotFound", "ChapterLanguageNotFound", "ReviewNotFound", "GovernanceDeliveryCapacityExceeded", "UnitGovernanceLookupInvalid", "GovernanceNoteNotFound", "ContentGovernanceTargetNotFound", "ContentReviewRealmMissing", "ContentReviewCaseNotFound", "ContentGovernanceReversedActionInvalid", "ContentGovernanceActionIncompatible", "ContentGovernanceTransitionInvalid", "ContentGovernanceActionNoEffect", "ContentGovernanceReversalUnavailable", "ContentGovernanceIdempotencyConflict", "GovernanceNoteRoleDuplicate", "GovernanceRuleSourceForbidden", "GovernanceRuleChanged", "GovernanceReversalUnavailable", "EnforcementExpiryInvalid", "EnforcementNotFound", "EnforcementAlreadyRevoked", "EnforcementChanged", "CapabilityGrantExpiryInvalid", "CapabilityGrantNotFound", "UnitAccessExpiryInvalid", "UnitAccessInvitationNotFound", "UnitAccessInvitationConflict", "UnitAccessInvitationExpired", "UnitAccessInvitationSelfForbidden", "UnitAccessConfigurationInvalid", "UnitOwnerRestrictionForbidden", "UnitOwnershipChanged", "UnitOwnershipTargetIneligible", "UnitOwnershipRelinquishmentForbidden", "UnitOwnershipOverrideConfirmationInvalid", "UnitLifecycleConfirmationInvalid", "UnitLifecycleChanged", "UnitLifecycleProtected", "UnitAlreadyDeleted", "UnitNotDeleted", "UnitMergeNotFound", "UnitMergeConfirmationInvalid", "UnitMergeKindIneligible", "UnitMergeKindMismatch", "UnitMergeRequestConflict", "UnitMergeMeasurementConflict", "UnitMergeIdempotencyConflict", "UnitMergeManifestStale", "UnitMergeReviewSelfForbidden", "UnitMergeReviewDuplicate", "UnitMergeReviewFingerprintMismatch", "UnitMergeRequestNotPending", "UnitMergeRequestExpired", "UnitMergeRetryUnavailable", "ReportRealmMismatch", "ReportAlreadySubmitted", "ReportTargetRevisionUnavailable", "ReportRuleUnavailable", "ReportRuleChanged", "ReportRuleSourceForbidden", "PostNotFound", "PostLocalizationNotFound", "PostTargetingLocked", "ReplyPostNotFound", "ParentReplyNotFound", "ReplyDepthExceeded", "PostScoreNotFound", "PostScoreDuplicate", "PostTagMentionVoteConflict", "InvalidNotificationCursor", "NotificationNotFound", "AliasNotFound", "TagApplicationNotFound", "UnitTagCurationChanged", "UnitExternalLinkNotFound", "UnitReferenceCurationChanged", "UnitReferenceLimitReached", "UnitReferencePinnedLimitReached", "UnitReferenceWithdrawn", "InvalidMessageCursor", "ConversationNotFound", "ConversationParticipantsInvalid", "DirectMessageBlocked", "MessageNotFound", "CollectionNotFound", "CollectionStructureRevisionConflict", "RealmNotFound", "RealmMembershipNotFound", "RealmOwnerLeaveForbidden", "RealmRuleRevisionChanged", "RealmMemberNotFound", "RealmUnitNotFound", "RealmScoreContextPostNotMounted", "RealmScoreContextPostKindInvalid", "RealmTagContextNotFound", "RealmTagContextAlreadyExists", "RealmTagContextPostNotMounted", "RealmTagContextPostAlreadyUsed", "RealmTagVotingDisabled", "RealmTagContextRequired", "RealmTagSelfReferenceForbidden", "WikiNavigationNotFound", "WikiNavigationInUse", "WikiNavigationDocumentInvalid", "InvalidFeedCursor", "InvalidFeedFilter", "InvalidHistoryCursor", "UnitRevisionNotFound", "CurrentRevisionContentVisibilityForbidden", "CustomThemeNotFound", "CustomThemeRevisionNotFound", "CustomThemePackageInvalid", "CustomThemeSubmissionBackpressure", "CustomThemeExternalResourceInvalid", "CustomThemeReviewEvidenceInvalid", "CustomThemeRevisionStateConflict", "CustomThemeReviewerSeparationRequired", "CustomThemeInstallationInvalid", "UnitPresentationHostUnsupported", "UnitPresentationRevisionConflict" ] }, "MalformedRequestBody": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["MalformedRequestBody"] }, "message": { "type": "string" } } }, "requestId": { "type": "string" } } }, "ValidationError": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ValidationError"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } }, "InternalError": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["InternalError"] }, "message": { "type": "string" } } }, "requestId": { "type": "string" } } } }, "securitySchemes": { "ApiToken": { "type": "http", "scheme": "bearer", "bearerFormat": "REZICS API token", "description": "Use Authorization: Bearer rz_api_. Never put tokens in URLs." }, "SessionCookie": { "type": "apiKey", "in": "cookie", "name": "better-auth.session_token", "description": "Interactive browser session used by the REZICS first-party application." } } }, "paths": { "/image-assets/{id}/presentations/{role}/content": { "get": { "summary": "Resolve rendered image asset presentation", "tags": ["Image Assets"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "role", "in": "path", "required": true, "schema": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" } } ], "responses": { "302": { "description": "Response for status 302" }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getImage-assetsByIdPresentationsByRoleContent", "x-rezics-quota-route-operation-id": "getImage-assetsByIdPresentationsByRoleContent", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/image-assets/{id}/content": { "get": { "summary": "Resolve image asset content", "tags": ["Image Assets"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "302": { "description": "Response for status 302" }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getImage-assetsByIdContent", "x-rezics-quota-route-operation-id": "getImage-assetsByIdContent", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/access/scopes/resolve": { "post": { "operationId": "resolveAccessManagementScope", "tags": ["Access management"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "target": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "self-account" } }, "required": ["kind"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "platform" } }, "required": ["kind"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "resource" }, "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false } }, "required": ["kind", "reference"], "additionalProperties": false } ] }, "permission": { "type": "string", "enum": [ "access.identity.select", "access.role.read", "access.role.create", "access.role.update", "access.role.activate", "access.role.retire", "access.role-binding.manage", "access.assignment-ceiling.manage" ] }, "path": { "maxItems": 8, "type": "array", "items": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]{0,255}$" } } }, "required": ["target", "permission", "path"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "scope": { "type": "string", "maxLength": 512, "pattern": "^rzs1\\..*" }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["scope", "expiresAt"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiAccessScopesResolve", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/access/{scope}/roles": { "get": { "operationId": "listAccessRoles", "tags": ["Access management"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "scope", "in": "path", "required": true, "schema": { "type": "string", "maxLength": 512, "pattern": "^rzs1\\..*" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "version": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["draft", "active", "retired"] }, "activeRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "definitionRevision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "label": { "type": "string" } }, "required": [ "id", "version", "state", "activeRevision", "definitionRevision", "label" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiAccessByScopeRoles", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/access/{scope}/roles/{roleId}": { "get": { "operationId": "getAccessRole", "tags": ["Access management"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "scope", "in": "path", "required": true, "schema": { "type": "string", "maxLength": 512, "pattern": "^rzs1\\..*" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "definitionRevision", "in": "query", "required": false, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "version": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["draft", "active", "retired"] }, "activeRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "definition": { "type": "object", "properties": { "label": { "type": "string" }, "description": { "type": ["string", "null"] }, "permissions": { "maxItems": 83, "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "family": { "type": "string", "const": "unit" }, "key": { "type": "string", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.ownership.transfer", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ] } }, "required": ["family", "key"], "additionalProperties": false }, { "type": "object", "properties": { "family": { "type": "string", "const": "platform" }, "key": { "type": "string", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ] } }, "required": ["family", "key"], "additionalProperties": false }, { "type": "object", "properties": { "family": { "type": "string", "const": "management" }, "key": { "type": "string", "enum": [ "access.identity.select", "access.role.read", "access.role.create", "access.role.update", "access.role.activate", "access.role.retire", "access.role-binding.manage", "access.assignment-ceiling.manage" ] } }, "required": ["family", "key"], "additionalProperties": false } ] } }, "revision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["label", "description", "permissions", "revision"], "additionalProperties": false } }, "required": ["id", "version", "state", "activeRevision", "definition"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiAccessByScopeRolesByRoleId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "createAccessRole", "tags": ["Access management"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "scope", "in": "path", "required": true, "schema": { "type": "string", "maxLength": 512, "pattern": "^rzs1\\..*" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "operationId": { "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)$" }, "expectedVersion": { "type": "number", "const": 0 }, "definition": { "type": "object", "properties": { "label": { "type": "string" }, "description": { "type": ["string", "null"] }, "permissions": { "maxItems": 83, "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "family": { "type": "string", "const": "unit" }, "key": { "type": "string", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.ownership.transfer", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ] } }, "required": ["family", "key"], "additionalProperties": false }, { "type": "object", "properties": { "family": { "type": "string", "const": "platform" }, "key": { "type": "string", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ] } }, "required": ["family", "key"], "additionalProperties": false }, { "type": "object", "properties": { "family": { "type": "string", "const": "management" }, "key": { "type": "string", "enum": [ "access.identity.select", "access.role.read", "access.role.create", "access.role.update", "access.role.activate", "access.role.retire", "access.role-binding.manage", "access.assignment-ceiling.manage" ] } }, "required": ["family", "key"], "additionalProperties": false } ] } } }, "required": ["label", "description", "permissions"], "additionalProperties": false } }, "required": ["operationId", "expectedVersion", "definition"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "roleId": { "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)$" }, "operationId": { "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)$" }, "version": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["draft", "active", "retired"] }, "activeRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "definitionRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": [ "roleId", "operationId", "version", "state", "activeRevision", "definitionRevision" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiAccessByScopeRolesByRoleId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/access/{scope}/roles/{roleId}/history": { "get": { "operationId": "listAccessRoleHistory", "tags": ["Access management"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "scope", "in": "path", "required": true, "schema": { "type": "string", "maxLength": 512, "pattern": "^rzs1\\..*" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterVersion", "in": "query", "required": false, "schema": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "version": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "operationId": { "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)$" }, "operation": { "type": "string", "enum": ["create", "revise", "activate", "retire"] }, "state": { "type": "string", "enum": ["draft", "active", "retired"] }, "activeRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "version", "operationId", "operation", "state", "activeRevision", "createdAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiAccessByScopeRolesByRoleIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/access/{scope}/roles/{roleId}/definitions": { "post": { "operationId": "reviseAccessRole", "tags": ["Access management"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "scope", "in": "path", "required": true, "schema": { "type": "string", "maxLength": 512, "pattern": "^rzs1\\..*" } }, { "name": "roleId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "operationId": { "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)$" }, "expectedVersion": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "definition": { "type": "object", "properties": { "label": { "type": "string" }, "description": { "type": ["string", "null"] }, "permissions": { "maxItems": 83, "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "family": { "type": "string", "const": "unit" }, "key": { "type": "string", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.ownership.transfer", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ] } }, "required": ["family", "key"], "additionalProperties": false }, { "type": "object", "properties": { "family": { "type": "string", "const": "platform" }, "key": { "type": "string", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ] } }, "required": ["family", "key"], "additionalProperties": false }, { "type": "object", "properties": { "family": { "type": "string", "const": "management" }, "key": { "type": "string", "enum": [ "access.identity.select", "access.role.read", "access.role.create", "access.role.update", "access.role.activate", "access.role.retire", "access.role-binding.manage", "access.assignment-ceiling.manage" ] } }, "required": ["family", "key"], "additionalProperties": false } ] } } }, "required": ["label", "description", "permissions"], "additionalProperties": false } }, "required": ["operationId", "expectedVersion", "definition"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "roleId": { "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)$" }, "operationId": { "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)$" }, "version": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["draft", "active", "retired"] }, "activeRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "definitionRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": [ "roleId", "operationId", "version", "state", "activeRevision", "definitionRevision" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiAccessByScopeRolesByRoleIdDefinitions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/identities": { "post": { "operationId": "createAccountIdentity", "tags": ["Account"], "description": "Create a new controlled Entity from explicitly supplied public names. The first identity also requires a main-choice precondition. Retrying an operation returns its original receipt without renewing control.", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "operationId": { "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)$" }, "names": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "language": { "type": "string", "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"] }, "value": { "type": "string", "minLength": 1, "maxLength": 120 } }, "required": ["language", "value"], "additionalProperties": false } }, "main": { "type": ["object", "null"], "properties": { "expectedVersion": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["expectedVersion"], "additionalProperties": false } }, "required": ["operationId", "names", "main"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "operationId": { "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)$" }, "entityId": { "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)$" }, "representation": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "mainPreferenceVersion": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": [ "operationId", "entityId", "representation", "mainPreferenceVersion" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiAccountIdentities", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/main-identity": { "get": { "operationId": "getMainIdentityPreference", "tags": ["Account"], "description": "Read the recorded private main Entity choice. This response does not authorize acting as that Entity.", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "version": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "entityId": { "type": ["string", "null"], "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)$" } }, "required": ["version", "entityId"], "additionalProperties": false } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiAccountMain-identity", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "setMainIdentityPreference", "tags": ["Account"], "description": "Select a currently controlled Entity or explicitly clear the main choice. Existing grants, consents and prepared requests retain their selected identity.", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "operationId": { "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)$" }, "expectedVersion": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "selection": { "oneOf": [ { "type": "object", "properties": { "mode": { "type": "string", "const": "none" } }, "required": ["mode"], "additionalProperties": false }, { "type": "object", "properties": { "mode": { "type": "string", "const": "represented" }, "entityId": { "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)$" }, "representations": { "minItems": 1, "maxItems": 64, "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } } }, "required": ["mode", "entityId", "representations"], "additionalProperties": false } ] } }, "required": ["operationId", "expectedVersion", "selection"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "operationId": { "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)$" }, "version": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["operationId", "version"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiAccountMain-identity", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/unit/{unitId}/association-proposals": { "get": { "summary": "List Unit association proposals", "tags": ["Unit"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "side", "in": "query", "required": true, "schema": { "type": "string", "enum": ["source", "target"] } }, { "name": "kind", "in": "query", "required": true, "schema": { "default": "credit", "enum": ["credit", "subject"], "type": "string" } }, { "name": "includeResolved", "in": "query", "required": false, "schema": { "anyOf": [{ "type": "boolean" }, { "type": "string" }] } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceUnitId": { "type": "string", "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "direction": { "type": "string", "enum": ["request", "invitation"] }, "createdByProfileId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "kind": { "default": "credit", "enum": ["credit", "subject"], "type": "string" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "id", "sourceUnitId", "targetUnitId", "direction", "createdByProfileId", "expiresAt", "state", "resolution", "resolvedAt", "resolvedByProfileId", "createdAt", "updatedAt", "kind", "role", "contextPostId" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted", "EntityAssociationRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": [ "CatalogReferenceNotFound", "UnitNotFound", "EntityEntryNotFound", "AssociationProposalNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitByUnitIdAssociation-proposals", "x-rezics-quota-route-operation-id": "getApiUnitByUnitIdAssociation-proposals", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/unit/{unitId}/association-proposals/requests": { "post": { "summary": "Request Unit association", "tags": ["Unit"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "targetUnitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "const": "credit" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": ["targetUnitId", "kind", "role", "expiresAt"] }, { "additionalProperties": false, "type": "object", "properties": { "targetUnitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "const": "subject" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": ["targetUnitId", "kind", "role", "expiresAt"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceUnitId": { "type": "string", "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "direction": { "type": "string", "enum": ["request", "invitation"] }, "createdByProfileId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "kind": { "default": "credit", "enum": ["credit", "subject"], "type": "string" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "id", "sourceUnitId", "targetUnitId", "direction", "createdByProfileId", "expiresAt", "state", "resolution", "resolvedAt", "resolvedByProfileId", "createdAt", "updatedAt", "kind", "role", "contextPostId" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalExpiryInvalid", "enum": [ "AssociationProposalExpiryInvalid", "AssociationProposalRoleInvalid", "AssociationContextPostInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted", "EntityAssociationRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": [ "CatalogReferenceNotFound", "UnitNotFound", "EntityEntryNotFound", "AssociationProposalNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalConflict", "enum": ["AssociationProposalConflict", "AssociationProposalExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitByUnitIdAssociation-proposalsRequests", "x-rezics-quota-route-operation-id": "postApiUnitByUnitIdAssociation-proposalsRequests", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/unit/{unitId}/association-proposals/invitations": { "post": { "summary": "Invite Unit to association", "tags": ["Unit"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "sourceUnitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "const": "credit" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": ["sourceUnitId", "kind", "role", "expiresAt"] }, { "additionalProperties": false, "type": "object", "properties": { "sourceUnitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "const": "subject" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": ["sourceUnitId", "kind", "role", "expiresAt"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceUnitId": { "type": "string", "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "direction": { "type": "string", "enum": ["request", "invitation"] }, "createdByProfileId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "kind": { "default": "credit", "enum": ["credit", "subject"], "type": "string" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "id", "sourceUnitId", "targetUnitId", "direction", "createdByProfileId", "expiresAt", "state", "resolution", "resolvedAt", "resolvedByProfileId", "createdAt", "updatedAt", "kind", "role", "contextPostId" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalExpiryInvalid", "enum": [ "AssociationProposalExpiryInvalid", "AssociationProposalRoleInvalid", "AssociationContextPostInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted", "EntityAssociationRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": [ "CatalogReferenceNotFound", "UnitNotFound", "EntityEntryNotFound", "AssociationProposalNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalConflict", "enum": ["AssociationProposalConflict", "AssociationProposalExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitByUnitIdAssociation-proposalsInvitations", "x-rezics-quota-route-operation-id": "postApiUnitByUnitIdAssociation-proposalsInvitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/unit/{unitId}/association-proposals/{proposalId}/accept": { "post": { "summary": "Accept Unit association proposal", "tags": ["Unit"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "proposalId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceUnitId": { "type": "string", "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "direction": { "type": "string", "enum": ["request", "invitation"] }, "createdByProfileId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "kind": { "default": "credit", "enum": ["credit", "subject"], "type": "string" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "id", "sourceUnitId", "targetUnitId", "direction", "createdByProfileId", "expiresAt", "state", "resolution", "resolvedAt", "resolvedByProfileId", "createdAt", "updatedAt", "kind", "role", "contextPostId" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted", "EntityAssociationRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": [ "CatalogReferenceNotFound", "UnitNotFound", "EntityEntryNotFound", "AssociationProposalNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalConflict", "enum": ["AssociationProposalConflict", "AssociationProposalExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitByUnitIdAssociation-proposalsByProposalIdAccept", "x-rezics-quota-route-operation-id": "postApiUnitByUnitIdAssociation-proposalsByProposalIdAccept", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/unit/{unitId}/association-proposals/{proposalId}/decline": { "post": { "summary": "Decline Unit association proposal", "tags": ["Unit"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "proposalId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": {} } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceUnitId": { "type": "string", "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "direction": { "type": "string", "enum": ["request", "invitation"] }, "createdByProfileId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "kind": { "default": "credit", "enum": ["credit", "subject"], "type": "string" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor", "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "id", "sourceUnitId", "targetUnitId", "direction", "createdByProfileId", "expiresAt", "state", "resolution", "resolvedAt", "resolvedByProfileId", "createdAt", "updatedAt", "kind", "role", "contextPostId" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted", "EntityAssociationRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": [ "CatalogReferenceNotFound", "UnitNotFound", "EntityEntryNotFound", "AssociationProposalNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalConflict", "enum": ["AssociationProposalConflict", "AssociationProposalExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitByUnitIdAssociation-proposalsByProposalIdDecline", "x-rezics-quota-route-operation-id": "postApiUnitByUnitIdAssociation-proposalsByProposalIdDecline", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/unit/{unitId}/association-proposals/{proposalId}": { "delete": { "summary": "Cancel Unit association proposal", "tags": ["Unit"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted", "EntityAssociationRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": [ "CatalogReferenceNotFound", "UnitNotFound", "EntityEntryNotFound", "AssociationProposalNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationProposalConflict", "enum": ["AssociationProposalConflict", "AssociationProposalExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "proposalId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiUnitByUnitIdAssociation-proposalsByProposalId", "x-rezics-quota-route-operation-id": "deleteApiUnitByUnitIdAssociation-proposalsByProposalId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/startup": { "get": { "summary": "Process startup", "tags": ["System"], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "const": "ok" } }, "required": ["status"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiStartup", "x-rezics-quota-route-operation-id": "getApiStartup", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/health": { "get": { "summary": "Process health", "tags": ["System"], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "const": "ok" } }, "required": ["status"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHealth", "x-rezics-quota-route-operation-id": "getApiHealth", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "head": { "summary": "Process health without a response body", "tags": ["System"], "responses": { "204": { "description": "No Content" }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "headApiHealth", "x-rezics-quota-route-operation-id": "headApiHealth", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/ready": { "get": { "summary": "Dependency readiness", "tags": ["System"], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "enum": ["ready", "unavailable"] }, "checks": { "type": "object", "properties": { "database": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] }, "storage": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] }, "recommendations": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] }, "search": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] } }, "required": ["database", "storage", "recommendations", "search"] } }, "required": ["status", "checks"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "enum": ["ready", "unavailable"] }, "checks": { "type": "object", "properties": { "database": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] }, "storage": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] }, "recommendations": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] }, "search": { "type": "object", "properties": { "state": { "default": "ready", "enum": ["ready", "degraded", "unavailable"], "type": "string" }, "latencyMs": { "minimum": 0, "type": "integer" } }, "required": ["state", "latencyMs"] } }, "required": ["database", "storage", "recommendations", "search"] } }, "required": ["status", "checks"] } } } } }, "operationId": "getApiReady", "x-rezics-quota-route-operation-id": "getApiReady", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/notifications": { "get": { "summary": "Poll notifications with a cursor", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "direction", "in": "query", "required": false, "schema": { "type": "string", "enum": ["before", "after"] } }, { "name": "unreadOnly", "in": "query", "required": false, "schema": { "default": false, "type": "boolean" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "reply" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "reply" } }, "required": ["type"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "post" }, "postId": { "type": "string", "format": "uuid" } }, "required": ["kind", "postId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "new_follower" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "new_follower" } }, "required": ["type"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "profile" }, "profile": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "slugAddress"] } }, "required": ["kind", "profile"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "direct_message" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "direct_message" }, "conversationId": { "type": "string", "format": "uuid" }, "messageId": { "type": "string", "format": "uuid" } }, "required": ["type", "conversationId"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "conversation" }, "conversationId": { "type": "string", "format": "uuid" }, "messageId": { "type": "string", "format": "uuid" } }, "required": ["kind", "conversationId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "moderation" }, "context": { "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "content_governance_action" }, "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "publicNoticePostId": { "type": "string", "format": "uuid" } }, "required": ["type", "actionId", "actionKind"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "report_resolution" }, "reportId": { "type": "string", "format": "uuid" }, "referralId": { "type": "string", "format": "uuid" }, "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "resolution": { "type": "string", "const": "dismissed" }, "publicNoticePostId": { "type": "string", "format": "uuid" } }, "required": ["type", "reportId", "referralId"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "account_enforcement_action" }, "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "type": "string", "enum": ["issue", "revoke"] }, "enforcementKind": { "enum": [ "warning", "silence", "suspension", "ban", "rate_limit", "trust_restriction" ], "type": "string" }, "publicNoticePostId": { "type": "string", "format": "uuid" } }, "required": [ "type", "actionId", "actionKind", "enforcementKind" ] } ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "report" }, "reportId": { "type": "string", "format": "uuid" } }, "required": ["kind", "reportId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "realm" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "realm_event" }, "event": { "type": "string", "const": "membership_updated" } }, "required": ["type", "event"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realm": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "slugAddress"] } }, "required": ["kind", "realm"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "system" }, "context": { "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "system_event" }, "event": { "type": "string", "const": "unit_access_invitation" }, "references": { "additionalProperties": false, "type": "object", "properties": { "invitationId": { "type": "string", "format": "uuid" } }, "required": ["invitationId"] } }, "required": ["type", "event", "references"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "system_event" }, "event": { "type": "string", "const": "unit_ownership_override" }, "references": { "additionalProperties": false, "type": "object", "properties": { "ownershipId": { "type": "string", "format": "uuid" }, "role": { "type": "string", "enum": ["owner", "previous_owner"] } }, "required": ["ownershipId", "role"] } }, "required": ["type", "event", "references"] } ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "access_invitation" }, "unitId": { "type": "string", "format": "uuid" }, "invitationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId", "invitationId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] } }, "required": ["kind", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] } ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] }, "pollCursor": { "nullable": true, "type": ["string", "null"] }, "unreadCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" } }, "required": ["items", "nextCursor", "pollCursor", "unreadCount"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidNotificationCursor", "enum": ["InvalidNotificationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiNotifications", "x-rezics-quota-route-operation-id": "getApiNotifications", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/notifications/unread-count": { "get": { "summary": "Get unread notification count", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" } }, "required": ["count"] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiNotificationsUnread-count", "x-rezics-quota-route-operation-id": "getApiNotificationsUnread-count", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/notifications/{notificationId}": { "get": { "summary": "Get one notification", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "notificationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "reply" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "reply" } }, "required": ["type"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "post" }, "postId": { "type": "string", "format": "uuid" } }, "required": ["kind", "postId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "new_follower" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "new_follower" } }, "required": ["type"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "profile" }, "profile": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "slugAddress"] } }, "required": ["kind", "profile"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "direct_message" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "direct_message" }, "conversationId": { "type": "string", "format": "uuid" }, "messageId": { "type": "string", "format": "uuid" } }, "required": ["type", "conversationId"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "conversation" }, "conversationId": { "type": "string", "format": "uuid" }, "messageId": { "type": "string", "format": "uuid" } }, "required": ["kind", "conversationId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "moderation" }, "context": { "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "content_governance_action" }, "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "publicNoticePostId": { "type": "string", "format": "uuid" } }, "required": ["type", "actionId", "actionKind"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "report_resolution" }, "reportId": { "type": "string", "format": "uuid" }, "referralId": { "type": "string", "format": "uuid" }, "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "resolution": { "type": "string", "const": "dismissed" }, "publicNoticePostId": { "type": "string", "format": "uuid" } }, "required": ["type", "reportId", "referralId"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "account_enforcement_action" }, "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "type": "string", "enum": ["issue", "revoke"] }, "enforcementKind": { "enum": [ "warning", "silence", "suspension", "ban", "rate_limit", "trust_restriction" ], "type": "string" }, "publicNoticePostId": { "type": "string", "format": "uuid" } }, "required": ["type", "actionId", "actionKind", "enforcementKind"] } ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "report" }, "reportId": { "type": "string", "format": "uuid" } }, "required": ["kind", "reportId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "realm" }, "context": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "realm_event" }, "event": { "type": "string", "const": "membership_updated" } }, "required": ["type", "event"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realm": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "slugAddress"] } }, "required": ["kind", "realm"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "body": { "type": "string" }, "actor": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "name", "slugAddress"] }, "subject": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "kind": { "type": "string", "const": "system" }, "context": { "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "system_event" }, "event": { "type": "string", "const": "unit_access_invitation" }, "references": { "additionalProperties": false, "type": "object", "properties": { "invitationId": { "type": "string", "format": "uuid" } }, "required": ["invitationId"] } }, "required": ["type", "event", "references"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "system_event" }, "event": { "type": "string", "const": "unit_ownership_override" }, "references": { "additionalProperties": false, "type": "object", "properties": { "ownershipId": { "type": "string", "format": "uuid" }, "role": { "type": "string", "enum": ["owner", "previous_owner"] } }, "required": ["ownershipId", "role"] } }, "required": ["type", "event", "references"] } ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "unavailable" } }, "required": ["type"] } ] }, "destination": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "access_invitation" }, "unitId": { "type": "string", "format": "uuid" }, "invitationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId", "invitationId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": ["id", "owner", "shape", "slugAddress"] } }, "required": ["kind", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "notification_details" }, "notificationId": { "type": "string", "format": "uuid" } }, "required": ["kind", "notificationId"] } ] } }, "required": [ "id", "title", "body", "actor", "subject", "readAt", "createdAt", "kind", "context", "destination" ] } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "NotificationNotFound", "enum": ["NotificationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiNotificationsByNotificationId", "x-rezics-quota-route-operation-id": "getApiNotificationsByNotificationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/notifications/read-all": { "put": { "summary": "Mark notifications read", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "through": { "maxLength": 512, "type": "string" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean" }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": ["updated", "readAt"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidNotificationCursor", "enum": ["InvalidNotificationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiNotificationsRead-all", "x-rezics-quota-route-operation-id": "putApiNotificationsRead-all", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/notifications/{notificationId}/read": { "put": { "summary": "Mark one notification read", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "notificationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean" }, "readAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": ["updated", "readAt"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "NotificationNotFound", "enum": ["NotificationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiNotificationsByNotificationIdRead", "x-rezics-quota-route-operation-id": "putApiNotificationsByNotificationIdRead", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/notifications/preferences": { "get": { "summary": "Get notification preferences", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "kind": { "type": "string" }, "inApp": { "type": "boolean" }, "email": { "type": "boolean" } }, "required": ["kind", "inApp", "email"] } } }, "required": ["items"] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiNotificationsPreferences", "x-rezics-quota-route-operation-id": "getApiNotificationsPreferences", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Update notification preferences", "tags": ["Notifications"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "minItems": 1, "maxItems": 6, "type": "array", "items": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "reply", "new_follower", "direct_message", "moderation", "realm", "system" ] }, "inApp": { "type": "boolean" }, "email": { "type": "boolean" } }, "required": ["kind", "inApp", "email"] } } }, "required": ["items"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "kind": { "type": "string" }, "inApp": { "type": "boolean" }, "email": { "type": "boolean" } }, "required": ["kind", "inApp", "email"] } } }, "required": ["items"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiNotificationsPreferences", "x-rezics-quota-route-operation-id": "putApiNotificationsPreferences", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/recommendations/units": { "get": { "summary": "Recommend Units", "tags": ["Recommendations"], "parameters": [ { "name": "owner", "in": "query", "required": false, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "shape", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 96, "type": "string" } }, { "name": "seedUnitId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "personalized", "in": "query", "required": false, "schema": { "type": "boolean" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "contentRating": { "type": "string" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "additionalProperties": false, "type": "object", "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] } }, "required": [ "id", "owner", "shape", "language", "contentRating", "publishedAt", "createdAt", "updatedAt", "title", "summary", "cover", "recommendationReason", "tracking" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRecommendationsUnits", "x-rezics-quota-route-operation-id": "getApiRecommendationsUnits", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/recommendations/posts/{postId}": { "get": { "summary": "Recommend related posts", "tags": ["Recommendations"], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "personalized", "in": "query", "required": false, "schema": { "type": "boolean" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRecommendationsPostsByPostId", "x-rezics-quota-route-operation-id": "getApiRecommendationsPostsByPostId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/recommendations/events": { "post": { "summary": "Record recommendation events", "tags": ["Recommendations"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "events": { "minItems": 1, "maxItems": 100, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "type": { "default": "impression", "enum": ["impression", "open", "dwell_30s"], "type": "string" }, "occurredAt": { "type": "string", "format": "date-time" }, "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": ["home_feed", "home_catalog", "unit_related", "post_related"], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "id", "targetUnitId", "type", "occurredAt", "requestId", "surface", "position", "policyVersion", "signature" ] } } }, "required": ["events"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "accepted": { "type": "integer" } }, "required": ["accepted"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "AccountSuspended", "AccountClosed", "ParticipationDenied" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRecommendationsEvents", "x-rezics-quota-route-operation-id": "postApiRecommendationsEvents", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/recommendations/exclusions/{unitId}": { "put": { "summary": "Exclude a recommendation", "tags": ["Recommendations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "eventId": { "type": "string", "format": "uuid" }, "occurredAt": { "type": "string", "format": "date-time" }, "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": ["home_feed", "home_catalog", "unit_related", "post_related"], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "eventId", "occurredAt", "requestId", "surface", "position", "policyVersion", "signature" ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "excluded": { "type": "boolean" } }, "required": ["excluded"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "AccountSuspended", "AccountClosed", "ParticipationDenied" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRecommendationsExclusionsByUnitId", "x-rezics-quota-route-operation-id": "putApiRecommendationsExclusionsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Restore an excluded recommendation", "tags": ["Recommendations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "excluded": { "type": "boolean" } }, "required": ["excluded"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "AccountSuspended", "AccountClosed", "ParticipationDenied" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiRecommendationsExclusionsByUnitId", "x-rezics-quota-route-operation-id": "deleteApiRecommendationsExclusionsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/messages/conversations": { "get": { "summary": "List direct-message conversations", "tags": ["Messages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "otherEntityId": { "type": "string", "format": "uuid" }, "otherUserName": { "nullable": true, "type": ["string", "null"] }, "lastMessageAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastMessage": { "nullable": true, "type": ["string", "null"] }, "unreadCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "otherEntityId", "otherUserName", "lastMessageAt", "lastMessage", "unreadCount", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidMessageCursor", "enum": ["InvalidMessageCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiMessagesConversations", "x-rezics-quota-route-operation-id": "getApiMessagesConversations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create or find a direct-message conversation", "tags": ["Messages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "participantEntityId": { "type": "string", "format": "uuid" } }, "required": ["participantEntityId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DirectMessageBlocked", "enum": ["DirectMessageBlocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ConversationParticipantsInvalid", "enum": ["ConversationParticipantsInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiMessagesConversations", "x-rezics-quota-route-operation-id": "postApiMessagesConversations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/messages/conversations/{conversationId}": { "get": { "summary": "Get direct-message conversation", "tags": ["Messages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "conversationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "otherEntityId": { "type": "string", "format": "uuid" }, "otherUserName": { "nullable": true, "type": ["string", "null"] }, "lastMessageAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastMessage": { "nullable": true, "type": ["string", "null"] }, "unreadCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "otherEntityId", "otherUserName", "lastMessageAt", "lastMessage", "unreadCount", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ConversationNotFound", "enum": ["ConversationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiMessagesConversationsByConversationId", "x-rezics-quota-route-operation-id": "getApiMessagesConversationsByConversationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/messages/conversations/{conversationId}/messages": { "get": { "summary": "List direct messages", "tags": ["Messages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "conversationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "conversationId": { "type": "string", "format": "uuid" }, "senderEntityId": { "type": "string", "format": "uuid" }, "content": { "nullable": true, "type": ["string", "null"] }, "deletedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "conversationId", "senderEntityId", "content", "deletedAt", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidMessageCursor", "enum": ["InvalidMessageCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ConversationNotFound", "enum": ["ConversationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiMessagesConversationsByConversationIdMessages", "x-rezics-quota-route-operation-id": "getApiMessagesConversationsByConversationIdMessages", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Send direct message", "tags": ["Messages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "conversationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "content": { "minLength": 1, "maxLength": 20000, "pattern": ".*\\S.*", "type": "string" } }, "required": ["content"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "conversationId": { "type": "string", "format": "uuid" }, "senderEntityId": { "type": "string", "format": "uuid" }, "content": { "nullable": true, "type": ["string", "null"] }, "deletedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "conversationId", "senderEntityId", "content", "deletedAt", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DirectMessageBlocked", "enum": ["DirectMessageBlocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ConversationNotFound", "enum": ["ConversationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiMessagesConversationsByConversationIdMessages", "x-rezics-quota-route-operation-id": "postApiMessagesConversationsByConversationIdMessages", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/messages/conversations/{conversationId}/read": { "put": { "summary": "Mark direct-message conversation read", "tags": ["Messages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "conversationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "lastReadMessageId": { "type": "string", "format": "uuid" } }, "required": ["lastReadMessageId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "conversationId": { "type": "string", "format": "uuid" }, "lastReadMessageId": { "type": "string", "format": "uuid" }, "readAt": { "type": "string", "format": "date-time" } }, "required": ["conversationId", "lastReadMessageId", "readAt"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ConversationNotFound", "enum": ["ConversationNotFound", "MessageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiMessagesConversationsByConversationIdRead", "x-rezics-quota-route-operation-id": "putApiMessagesConversationsByConversationIdRead", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/messages/{messageId}": { "delete": { "summary": "Delete direct message", "tags": ["Messages"], "responses": { "204": { "description": "Response for status 204" }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "MessageNotFound", "enum": ["MessageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "messageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiMessagesByMessageId", "x-rezics-quota-route-operation-id": "deleteApiMessagesByMessageId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-tokens": { "get": { "summary": "List API tokens", "tags": ["API Tokens"], "security": [{ "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "itemLimit": { "minimum": 1, "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "tokenPrefix": { "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "enabled": { "type": "boolean" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastUsedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "quota": { "type": "object", "properties": { "account": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "requestRate", "maxConcurrentRequests", "dailyCostUnits" ] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] }, "token": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "requestRate", "maxConcurrentRequests", "dailyCostUnits" ] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] }, "tokenOverride": { "nullable": true, "type": ["object", "null"], "properties": { "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "revision": { "minimum": 1, "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["configurationOverride", "revision", "updatedAt"] } }, "required": ["account", "token", "tokenOverride"] } }, "required": [ "id", "name", "tokenPrefix", "permissions", "enabled", "expiresAt", "lastUsedAt", "createdAt", "updatedAt", "quota" ] } } }, "required": ["itemLimit", "items"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiApi-tokens", "x-rezics-quota-route-operation-id": "getApiApi-tokens", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create API token (secret returned once)", "tags": ["API Tokens"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "minLength": 1, "maxLength": 120, "type": "string" }, "permissions": { "minItems": 1, "maxItems": 22, "uniqueItems": true, "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "expiresInDays": { "minimum": 1, "maximum": 365, "default": 90, "type": "integer" } }, "required": ["name", "permissions"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "required": [ "id", "name", "tokenPrefix", "permissions", "enabled", "expiresAt", "lastUsedAt", "createdAt", "updatedAt", "quota", "token" ], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "tokenPrefix": { "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "enabled": { "type": "boolean" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastUsedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "quota": { "type": "object", "properties": { "account": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] }, "token": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] }, "tokenOverride": { "nullable": true, "type": ["object", "null"], "properties": { "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "revision": { "minimum": 1, "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["configurationOverride", "revision", "updatedAt"] } }, "required": ["account", "token", "tokenOverride"] }, "token": { "type": "string" } } } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenLimitReached", "enum": ["ApiTokenLimitReached"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiApi-tokens", "x-rezics-quota-route-operation-id": "postApiApi-tokens", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-tokens/{tokenId}": { "patch": { "summary": "Update API token", "tags": ["API Tokens"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "minProperties": 1, "type": "object", "properties": { "name": { "minLength": 1, "maxLength": 120, "type": "string" }, "permissions": { "minItems": 1, "maxItems": 22, "uniqueItems": true, "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "expiresInDays": { "minimum": 1, "maximum": 365, "type": "integer" }, "enabled": { "type": "boolean" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "tokenPrefix": { "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "enabled": { "type": "boolean" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastUsedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "quota": { "type": "object", "properties": { "account": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] }, "token": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] }, "tokenOverride": { "nullable": true, "type": ["object", "null"], "properties": { "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "revision": { "minimum": 1, "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["configurationOverride", "revision", "updatedAt"] } }, "required": ["account", "token", "tokenOverride"] } }, "required": [ "id", "name", "tokenPrefix", "permissions", "enabled", "expiresAt", "lastUsedAt", "createdAt", "updatedAt", "quota" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenNotFound", "enum": ["ApiTokenNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenLimitReached", "enum": ["ApiTokenLimitReached"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiApi-tokensByTokenId", "x-rezics-quota-route-operation-id": "patchApiApi-tokensByTokenId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Revoke API token", "tags": ["API Tokens"], "responses": { "204": { "description": "Response for status 204" }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenNotFound", "enum": ["ApiTokenNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiApi-tokensByTokenId", "x-rezics-quota-route-operation-id": "deleteApiApi-tokensByTokenId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-tokens/{tokenId}/quota-override": { "put": { "summary": "Replace API token quota override", "tags": ["API Tokens"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } } }, "required": ["expectedRevision", "configurationOverride"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "tokenPrefix": { "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "enabled": { "type": "boolean" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastUsedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "quota": { "type": "object", "properties": { "account": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] }, "token": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] }, "tokenOverride": { "nullable": true, "type": ["object", "null"], "properties": { "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "revision": { "minimum": 1, "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["configurationOverride", "revision", "updatedAt"] } }, "required": ["account", "token", "tokenOverride"] } }, "required": [ "id", "name", "tokenPrefix", "permissions", "enabled", "expiresAt", "lastUsedAt", "createdAt", "updatedAt", "quota" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenNotFound", "enum": ["ApiTokenNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenQuotaOverrideRevisionConflict", "enum": ["ApiTokenQuotaOverrideRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenQuotaOverrideInvalid", "enum": ["ApiTokenQuotaOverrideInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiApi-tokensByTokenIdQuota-override", "x-rezics-quota-route-operation-id": "putApiApi-tokensByTokenIdQuota-override", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete API token quota override", "tags": ["API Tokens"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenNotFound", "enum": ["ApiTokenNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenQuotaOverrideRevisionConflict", "enum": ["ApiTokenQuotaOverrideRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "type": "integer" } }, "required": ["expectedRevision"] } } } }, "operationId": "deleteApiApi-tokensByTokenIdQuota-override", "x-rezics-quota-route-operation-id": "deleteApiApi-tokensByTokenIdQuota-override", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/token": { "get": { "operationId": "getCurrentApiToken", "summary": "Inspect the current API token's safe capabilities", "tags": ["API Tokens"], "security": [{ "ApiToken": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "tokenPrefix": { "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit:read", "enum": [ "unit:read", "unit:create", "unit:update", "account:read", "account:update", "access:read", "access:manage", "app:read", "app:manage", "interaction:read", "interaction:write", "realm:read", "realm:manage", "message:read", "message:write", "notification:read", "notification:write", "recommendation:read", "recommendation:write", "upload:read", "upload:write", "report:write" ], "type": "string" } }, "enabled": { "type": "boolean" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "quota": { "type": "object", "properties": { "account": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] }, "token": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] }, "tokenOverride": { "nullable": true, "type": ["object", "null"], "properties": { "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "revision": { "minimum": 1, "type": "integer" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["configurationOverride", "revision", "updatedAt"] } }, "required": ["account", "token", "tokenOverride"] } }, "required": [ "id", "name", "tokenPrefix", "permissions", "enabled", "expiresAt", "createdAt", "quota" ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaExceeded", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiToken", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-quota-policies": { "get": { "summary": "List API quota policies", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "key": { "type": "string" }, "subjectKind": { "default": "account", "enum": ["account", "token"], "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "configuration": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "requestRate", "maxConcurrentRequests", "dailyCostUnits" ] }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "maxActiveTokens", "operations"] }, { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "requestRate", "maxConcurrentRequests", "dailyCostUnits" ] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "operations"] } ] }, "revision": { "minimum": 1, "type": "integer" }, "enabled": { "type": "boolean" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "key", "subjectKind", "class", "schemaVersion", "configuration", "revision", "enabled", "updatedAt" ] } } }, "required": ["items"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiApi-quota-policies", "x-rezics-quota-route-operation-id": "getApiApi-quota-policies", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create an API quota policy", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "key": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9_-]{0,63}$", "type": "string" }, "subjectKind": { "default": "account", "enum": ["account", "token"], "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "configuration": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "maxActiveTokens", "operations"] }, { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "operations"] } ] }, "reason": { "minLength": 1, "maxLength": 1000, "type": "string" } }, "required": ["key", "subjectKind", "class", "configuration", "reason"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "key": { "type": "string" }, "subjectKind": { "default": "account", "enum": ["account", "token"], "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "configuration": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "maxActiveTokens", "operations"] }, { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "operations"] } ] }, "revision": { "minimum": 1, "type": "integer" }, "enabled": { "type": "boolean" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "key", "subjectKind", "class", "schemaVersion", "configuration", "revision", "enabled", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyKeyConflict", "enum": ["ApiQuotaPolicyKeyConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyInvalid", "enum": ["ApiQuotaPolicyInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiApi-quota-policies", "x-rezics-quota-route-operation-id": "postApiApi-quota-policies", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-quota-policies/{policyKey}": { "put": { "summary": "Publish an API quota policy revision", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "policyKey", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9_-]{0,63}$", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "type": "integer" }, "configuration": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "maxActiveTokens", "operations"] }, { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "operations"] } ] }, "reason": { "minLength": 1, "maxLength": 1000, "type": "string" } }, "required": ["expectedRevision", "configuration", "reason"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "key": { "type": "string" }, "subjectKind": { "default": "account", "enum": ["account", "token"], "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "configuration": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "maxActiveTokens", "operations"] }, { "additionalProperties": false, "type": "object", "properties": { "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": ["limits", "operations"] } ] }, "revision": { "minimum": 1, "type": "integer" }, "enabled": { "type": "boolean" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "key", "subjectKind", "class", "schemaVersion", "configuration", "revision", "enabled", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyNotFound", "enum": ["ApiQuotaPolicyNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyRevisionConflict", "enum": ["ApiQuotaPolicyRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyInvalid", "enum": ["ApiQuotaPolicyInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiApi-quota-policiesByPolicyKey", "x-rezics-quota-route-operation-id": "putApiApi-quota-policiesByPolicyKey", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-quota-policies/accounts/{userId}": { "get": { "summary": "Get a user's API quota", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiApi-quota-policiesAccountsByUserId", "x-rezics-quota-route-operation-id": "getApiApi-quota-policiesAccountsByUserId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Assign a user's API quota policy", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "policyKey": { "minLength": 1, "maxLength": 64, "type": "string" }, "validUntil": { "type": "string", "format": "date-time" }, "reason": { "minLength": 1, "maxLength": 1000, "type": "string" }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } } }, "required": ["expectedRevision", "policyKey", "reason"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound", "ApiQuotaPolicyNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiAccountQuotaRevisionConflict", "enum": ["ApiAccountQuotaRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyInvalid", "enum": ["ApiQuotaPolicyInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiApi-quota-policiesAccountsByUserId", "x-rezics-quota-route-operation-id": "putApiApi-quota-policiesAccountsByUserId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Reset a user's API quota policy", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "type": "integer" } }, "required": ["expectedRevision"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "maxActiveTokens": { "minimum": 1, "maximum": 1000, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "maxActiveTokens": { "minimum": 1, "type": "integer" }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "maxActiveTokens", "operations" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiAccountQuotaRevisionConflict", "enum": ["ApiAccountQuotaRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiApi-quota-policiesAccountsByUserId", "x-rezics-quota-route-operation-id": "deleteApiApi-quota-policiesAccountsByUserId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-quota-policies/accounts/{userId}/tokens": { "get": { "summary": "List a user's API token quotas", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "tokenPrefix": { "type": "string" }, "enabled": { "type": "boolean" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastUsedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "quota": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "requestRate", "maxConcurrentRequests", "dailyCostUnits" ] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] } }, "required": [ "id", "name", "tokenPrefix", "enabled", "expiresAt", "lastUsedAt", "createdAt", "updatedAt", "quota" ] } } }, "required": ["items"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiApi-quota-policiesAccountsByUserIdTokens", "x-rezics-quota-route-operation-id": "getApiApi-quota-policiesAccountsByUserIdTokens", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/api-quota-policies/accounts/{userId}/tokens/{tokenId}": { "put": { "summary": "Assign an API token quota policy", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "policyKey": { "minLength": 1, "maxLength": 64, "type": "string" }, "validUntil": { "type": "string", "format": "date-time" }, "reason": { "minLength": 1, "maxLength": 1000, "type": "string" }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } } }, "required": ["expectedRevision", "policyKey", "reason"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound", "ApiQuotaPolicyNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenQuotaRevisionConflict", "enum": ["ApiTokenQuotaRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiQuotaPolicyInvalid", "enum": ["ApiQuotaPolicyInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiApi-quota-policiesAccountsByUserIdTokensByTokenId", "x-rezics-quota-route-operation-id": "putApiApi-quota-policiesAccountsByUserIdTokensByTokenId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Reset an API token quota policy", "tags": ["API Quota Policies"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tokenId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "type": "integer" } }, "required": ["expectedRevision"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "key": { "type": "string" }, "class": { "default": "standard", "enum": ["standard", "privileged"], "type": "string" }, "source": { "default": "assigned", "enum": ["assigned", "standard_default", "privileged_fallback"], "type": "string" }, "schemaVersion": { "minimum": 1, "type": "integer" }, "policyRevision": { "minimum": 1, "type": "integer" }, "bindingRevision": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "validUntil": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "assignmentReason": { "nullable": true, "type": ["string", "null"] }, "configurationOverride": { "additionalProperties": false, "type": "object", "properties": { "limits": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } } }, "limits": { "additionalProperties": false, "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestRate", "maxConcurrentRequests", "dailyCostUnits"] }, "operations": { "type": "object", "properties": { "search.execute": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 }, "image.upload": { "type": "object", "properties": { "requestRate": { "additionalProperties": false, "type": "object", "properties": { "requestsPerMinute": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "burstCapacity": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["requestsPerMinute", "burstCapacity"] }, "maxConcurrentRequests": { "minimum": 1, "maximum": 1000, "type": "integer" }, "dailyCostUnits": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "additionalProperties": false, "minProperties": 1 } }, "additionalProperties": false } }, "required": [ "key", "class", "source", "schemaVersion", "policyRevision", "bindingRevision", "validUntil", "assignmentReason", "configurationOverride", "limits", "operations" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FreshSessionRequired", "enum": ["FreshSessionRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenQuotaRevisionConflict", "enum": ["ApiTokenQuotaRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiApi-quota-policiesAccountsByUserIdTokensByTokenId", "x-rezics-quota-route-operation-id": "deleteApiApi-quota-policiesAccountsByUserIdTokensByTokenId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/feed/query": { "post": { "summary": "Ranked realm feed", "tags": ["Feed"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "default": "best", "enum": ["best", "new"], "type": "string" }, "cursor": { "maxLength": 1024, "type": "string" }, "limit": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["items", "nextCursor", "total"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidFeedCursor", "enum": ["InvalidFeedCursor", "InvalidFeedFilter"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiFeedQuery", "x-rezics-quota-route-operation-id": "postApiFeedQuery", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reports/me": { "get": { "summary": "List current user's content reports", "tags": ["Reports"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } }, { "name": "reportId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "enum": [ "submitted", "reviewing", "completed", "merged", "not_actioned" ], "type": "string" }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "available" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "languageTag": { "nullable": true, "type": ["string", "null"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] } }, "required": [ "id", "kind", "shape", "languageTag", "language", "title", "slugAddress" ] } }, "required": ["state", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "unavailable" } }, "required": ["state"] } ] }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" } }, "required": ["id", "sourceRealmId", "revisionId", "language", "title"] } }, "referrals": { "minItems": 1, "maxItems": 2, "type": "array", "items": { "type": "object", "required": [ "id", "caseId", "scope", "realmId", "caseState", "destinationTitle", "status" ], "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "scope": { "type": "string", "enum": ["realm", "platform"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "caseState": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" }, "destinationTitle": { "nullable": true, "type": ["string", "null"] }, "status": { "enum": [ "submitted", "reviewing", "completed", "merged", "not_actioned" ], "type": "string" } }, "additionalProperties": false } }, "details": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "status", "target", "rules", "referrals", "details", "createdAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReportsMe", "x-rezics-quota-route-operation-id": "getApiReportsMe", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reports/units/{unitId}/destinations": { "get": { "summary": "List the context and official rule sources for a content report", "tags": ["Reports"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "contextRealmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "minItems": 1, "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "scope": { "type": "string", "enum": ["platform", "realm"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "revisionId": { "type": "string", "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 100, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" } }, "required": ["id", "language", "title"] } } }, "required": ["id", "scope", "language", "title", "revisionId", "rules"] } } }, "required": ["items"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ReportRealmMismatch", "enum": ["ReportRealmMismatch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReportsUnitsByUnitIdDestinations", "x-rezics-quota-route-operation-id": "getApiReportsUnitsByUnitIdDestinations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/reports": { "get": { "summary": "List content reports referred to a Realm", "tags": ["Reports"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "state", "in": "query", "required": false, "schema": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "contextRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" } }, "required": ["id", "sourceRealmId", "revisionId", "language", "title"] } }, "referrals": { "minItems": 1, "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "scope": { "type": "string", "enum": ["realm", "platform"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "caseState": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" } }, "required": ["id", "caseId", "scope", "realmId", "caseState"] } }, "details": { "nullable": true, "type": ["string", "null"] }, "reportedRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "contextRealmId", "rules", "referrals", "details", "reportedRevisionId", "createdAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdReports", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdReports", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reports/review-cases/{caseId}": { "get": { "summary": "List reports in one content review case", "tags": ["Reports"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "caseId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "contextRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" } }, "required": ["id", "sourceRealmId", "revisionId", "language", "title"] } }, "referrals": { "minItems": 1, "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "scope": { "type": "string", "enum": ["realm", "platform"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "caseState": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" } }, "required": ["id", "caseId", "scope", "realmId", "caseState"] } }, "details": { "nullable": true, "type": ["string", "null"] }, "reportedRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "contextRealmId", "rules", "referrals", "details", "reportedRevisionId", "createdAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReportsReview-casesByCaseId", "x-rezics-quota-route-operation-id": "getApiReportsReview-casesByCaseId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reports/platform/cases": { "get": { "summary": "List platform content review cases", "tags": ["Reports"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "state", "in": "query", "required": false, "schema": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "caseId": { "type": "string", "format": "uuid" }, "caseState": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" }, "unitId": { "type": "string", "format": "uuid" }, "unitKind": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "languageTag": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "moderationStatus": { "type": "string", "enum": ["approved", "pending", "removed"] }, "postTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "licenseGrants": { "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "minLength": 1, "type": "string" }, "recognitionStatus": { "type": "string", "const": "recognized" }, "offeringEnded": { "type": "boolean", "const": false } }, "required": [ "id", "licenseId", "recognitionStatus", "offeringEnded" ] }, { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "minLength": 1, "type": "string" }, "recognitionStatus": { "type": "string", "const": "invalidated" }, "offeringEnded": { "type": "boolean", "const": false }, "invalidationActionId": { "type": "string", "format": "uuid" } }, "required": [ "id", "licenseId", "recognitionStatus", "offeringEnded", "invalidationActionId" ] } ] } }, "reportCount": { "minimum": 1, "type": "integer" }, "allowedCommands": { "minItems": 1, "type": "array", "items": { "type": "string", "enum": [ "approve", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "dismiss", "note" ] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "caseId", "caseState", "unitId", "unitKind", "shape", "language", "languageTag", "title", "moderationStatus", "postTargetingLocked", "licenseGrants", "reportCount", "allowedCommands", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReportsPlatformCases", "x-rezics-quota-route-operation-id": "getApiReportsPlatformCases", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reports/units/{unitId}": { "post": { "summary": "Report content under selected current rules", "tags": ["Reports"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "contextRealmId": { "type": "string", "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "details": { "minLength": 1, "maxLength": 2000, "type": "string" } }, "required": ["rules"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "contextRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" } }, "required": ["id", "sourceRealmId", "revisionId", "language", "title"] } }, "referrals": { "minItems": 1, "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "scope": { "type": "string", "enum": ["realm", "platform"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "caseState": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" } }, "required": ["id", "caseId", "scope", "realmId", "caseState"] } }, "details": { "nullable": true, "type": ["string", "null"] }, "reportedRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "contextRealmId", "rules", "referrals", "details", "reportedRevisionId", "createdAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ReportRealmMismatch", "enum": ["ReportRealmMismatch", "ReportRuleSourceForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ReportAlreadySubmitted", "enum": [ "ReportAlreadySubmitted", "ReportTargetRevisionUnavailable", "ReportRuleUnavailable", "ReportRuleChanged" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiReportsUnitsByUnitId", "x-rezics-quota-route-operation-id": "postApiReportsUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access": { "get": { "summary": "Get Unit access configuration", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "scope", "in": "query", "required": false, "schema": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "unitTitle": { "nullable": true, "type": ["string", "null"] }, "unitOwner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "minLength": 1, "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "authenticatedGrantablePermissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "realm.contribute", "realm.units.create", "realm.post.replies.create", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "owner": { "nullable": true, "type": ["object", "null"], "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] }, "canTransferOwnership": { "type": "boolean" }, "canRelinquishOwnership": { "type": "boolean" }, "subjects": { "type": "array", "items": { "type": "object", "properties": { "subject": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "auth" }, "authUserId": { "type": "string", "format": "uuid" } }, "required": ["kind", "authUserId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" }, "relation": { "default": "member", "enum": ["member", "access_manager"], "type": "string" } }, "required": ["kind", "realmId", "relation"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "authenticated" } }, "required": ["kind"] } ] }, "label": { "nullable": true, "type": ["string", "null"] }, "grants": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "restrictions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "inherited": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "subject", "label", "grants", "restrictions", "inherited", "expiresAt" ] } } }, "required": [ "unitId", "unitTitle", "unitOwner", "shape", "permissions", "authenticatedGrantablePermissions", "owner", "canTransferOwnership", "canRelinquishOwnership", "subjects" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceUnitByUnitIdAccess", "x-rezics-quota-route-operation-id": "getApiGovernanceUnitByUnitIdAccess", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace Unit subject access", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "subject": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "auth" }, "authUserId": { "type": "string", "format": "uuid" } }, "required": ["kind", "authUserId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" }, "relation": { "default": "member", "enum": ["member", "access_manager"], "type": "string" } }, "required": ["kind", "realmId", "relation"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "authenticated" } }, "required": ["kind"] } ] }, "grants": { "maxItems": 28, "uniqueItems": true, "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "expiresAt": { "type": "string", "format": "date-time" }, "restrictions": { "minItems": 1, "maxItems": 28, "uniqueItems": true, "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["subject", "grants", "scope", "restrictions", "rules"] }, { "additionalProperties": false, "type": "object", "properties": { "subject": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "auth" }, "authUserId": { "type": "string", "format": "uuid" } }, "required": ["kind", "authUserId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" }, "relation": { "default": "member", "enum": ["member", "access_manager"], "type": "string" } }, "required": ["kind", "realmId", "relation"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "authenticated" } }, "required": ["kind"] } ] }, "grants": { "maxItems": 28, "uniqueItems": true, "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "expiresAt": { "type": "string", "format": "date-time" }, "restrictions": { "maxItems": 0, "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["subject", "grants", "scope", "restrictions"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "unitTitle": { "nullable": true, "type": ["string", "null"] }, "unitOwner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "minLength": 1, "type": "string" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "authenticatedGrantablePermissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "realm.contribute", "realm.units.create", "realm.post.replies.create", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "owner": { "nullable": true, "type": ["object", "null"], "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] }, "canTransferOwnership": { "type": "boolean" }, "canRelinquishOwnership": { "type": "boolean" }, "subjects": { "type": "array", "items": { "type": "object", "properties": { "subject": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "auth" }, "authUserId": { "type": "string", "format": "uuid" } }, "required": ["kind", "authUserId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" }, "relation": { "default": "member", "enum": ["member", "access_manager"], "type": "string" } }, "required": ["kind", "realmId", "relation"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "authenticated" } }, "required": ["kind"] } ] }, "label": { "nullable": true, "type": ["string", "null"] }, "grants": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "restrictions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "inherited": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "subject", "label", "grants", "restrictions", "inherited", "expiresAt" ] } } }, "required": [ "unitId", "unitTitle", "unitOwner", "shape", "permissions", "authenticatedGrantablePermissions", "owner", "canTransferOwnership", "canRelinquishOwnership", "subjects" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessExpiryInvalid", "enum": [ "UnitAccessExpiryInvalid", "UnitAccessConfigurationInvalid", "GovernanceRuleSourceForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "FreshSessionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ProfileNotFound", "RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitOwnerRestrictionForbidden", "enum": ["UnitOwnerRestrictionForbidden", "GovernanceRuleChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiGovernanceUnitByUnitIdAccess", "x-rezics-quota-route-operation-id": "putApiGovernanceUnitByUnitIdAccess", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access-candidates": { "get": { "summary": "Search Unit access candidates", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "query", "required": true, "schema": { "type": "string", "enum": ["auth", "realm"] } }, { "name": "query", "in": "query", "required": false, "schema": { "maxLength": 200, "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 8192, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "subject": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "auth" }, "authUserId": { "type": "string", "format": "uuid" } }, "required": ["kind", "authUserId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" }, "relation": { "default": "member", "enum": ["member", "access_manager"], "type": "string" } }, "required": ["kind", "realmId", "relation"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "authenticated" } }, "required": ["kind"] } ] }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["subject", "label"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceUnitByUnitIdAccess-candidates", "x-rezics-quota-route-operation-id": "getApiGovernanceUnitByUnitIdAccess-candidates", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access/effective": { "get": { "summary": "Resolve effective Unit access for the current Profile", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "scope", "in": "query", "required": false, "schema": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "decisions": { "type": "array", "items": { "type": "object", "properties": { "permission": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.ownership.transfer", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" }, "decision": { "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "allowed": { "type": "boolean", "const": true }, "source": { "type": "string", "enum": [ "public", "platform", "owner", "native", "governance_notice" ] } }, "required": ["allowed", "source"] }, { "additionalProperties": false, "type": "object", "properties": { "allowed": { "type": "boolean", "const": true }, "source": { "type": "string", "const": "grant" }, "grantId": { "type": "string", "format": "uuid" }, "subjectKind": { "type": "string", "enum": ["auth", "realm", "authenticated"] } }, "required": ["allowed", "source", "grantId", "subjectKind"] } ] }, { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "allowed": { "type": "boolean", "const": false }, "reason": { "type": "string", "enum": ["missing", "anonymous", "ungranted"] } }, "required": ["allowed", "reason"] }, { "additionalProperties": false, "type": "object", "properties": { "allowed": { "type": "boolean", "const": false }, "reason": { "type": "string", "const": "restricted" }, "restrictionId": { "type": "string", "format": "uuid" }, "subjectKind": { "type": "string", "enum": ["auth", "realm"] } }, "required": [ "allowed", "reason", "restrictionId", "subjectKind" ] } ] } ] } }, "required": ["permission", "decision"] } } }, "required": ["unitId", "scope", "decisions"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceUnitByUnitIdAccessEffective", "x-rezics-quota-route-operation-id": "getApiGovernanceUnitByUnitIdAccessEffective", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/ownership/candidates": { "get": { "summary": "Search eligible Unit ownership recipients", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "query", "in": "query", "required": false, "schema": { "maxLength": 200, "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 8192, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] }, "slug": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label", "slug"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceUnitByUnitIdOwnershipCandidates", "x-rezics-quota-route-operation-id": "getApiGovernanceUnitByUnitIdOwnershipCandidates", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/ownership": { "put": { "summary": "Transfer Unit ownership", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedOwnerEntityId": { "type": "string", "format": "uuid" }, "targetEntityId": { "type": "string", "format": "uuid" } }, "required": ["expectedOwnerEntityId", "targetEntityId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "owner": { "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] } }, "required": ["owner"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ProfileNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitOwnershipChanged", "enum": ["UnitOwnershipChanged", "UnitOwnershipTargetIneligible"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiGovernanceUnitByUnitIdOwnership", "x-rezics-quota-route-operation-id": "putApiGovernanceUnitByUnitIdOwnership", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/ownership/relinquishment": { "post": { "summary": "Relinquish Unit ownership to Community", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedOwnerEntityId": { "type": "string", "format": "uuid" } }, "required": ["expectedOwnerEntityId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "owner": { "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] } }, "required": ["owner"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitOwnershipChanged", "enum": ["UnitOwnershipChanged", "UnitOwnershipRelinquishmentForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceUnitByUnitIdOwnershipRelinquishment", "x-rezics-quota-route-operation-id": "postApiGovernanceUnitByUnitIdOwnershipRelinquishment", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/access-invitations": { "get": { "summary": "List received Unit access invitations", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "includeResolved", "in": "query", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "invitedAuthUserId": { "type": "string", "format": "uuid" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "invitedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "accessExpiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "invitedAuthUserId", "permissions", "scope", "invitedByAuthUserId", "expiresAt", "accessExpiresAt", "state", "resolution", "resolvedAt", "resolvedByAuthUserId", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceUnitAccess-invitations", "x-rezics-quota-route-operation-id": "getApiGovernanceUnitAccess-invitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access-invitations": { "get": { "summary": "List managed Unit access invitations", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "includeResolved", "in": "query", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "invitedAuthUserId": { "type": "string", "format": "uuid" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "invitedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "accessExpiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "invitedAuthUserId", "permissions", "scope", "invitedByAuthUserId", "expiresAt", "accessExpiresAt", "state", "resolution", "resolvedAt", "resolvedByAuthUserId", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "UnitAccessRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceUnitByUnitIdAccess-invitations", "x-rezics-quota-route-operation-id": "getApiGovernanceUnitByUnitIdAccess-invitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Unit access invitation", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "invitedAuthUserId": { "type": "string", "format": "uuid" }, "permissions": { "minItems": 1, "maxItems": 28, "uniqueItems": true, "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "invitationExpiresAt": { "type": "string", "format": "date-time" }, "accessExpiresAt": { "type": "string", "format": "date-time" } }, "required": ["invitedAuthUserId", "permissions", "scope", "invitationExpiresAt"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "invitedAuthUserId": { "type": "string", "format": "uuid" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "invitedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "accessExpiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "invitedAuthUserId", "permissions", "scope", "invitedByAuthUserId", "expiresAt", "accessExpiresAt", "state", "resolution", "resolvedAt", "resolvedByAuthUserId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessExpiryInvalid", "enum": [ "UnitAccessExpiryInvalid", "UnitAccessInvitationSelfForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "UnitAccessRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ProfileNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessInvitationConflict", "enum": ["UnitAccessInvitationConflict", "UnitAccessInvitationExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceUnitByUnitIdAccess-invitations", "x-rezics-quota-route-operation-id": "postApiGovernanceUnitByUnitIdAccess-invitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access-invitations/{invitationId}/accept": { "post": { "summary": "Accept Unit access invitation", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "invitationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": {} } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "invitedAuthUserId": { "type": "string", "format": "uuid" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "invitedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "accessExpiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "invitedAuthUserId", "permissions", "scope", "invitedByAuthUserId", "expiresAt", "accessExpiresAt", "state", "resolution", "resolvedAt", "resolvedByAuthUserId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessInvitationNotFound", "enum": ["UnitAccessInvitationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessInvitationConflict", "enum": ["UnitAccessInvitationConflict", "UnitAccessInvitationExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceUnitByUnitIdAccess-invitationsByInvitationIdAccept", "x-rezics-quota-route-operation-id": "postApiGovernanceUnitByUnitIdAccess-invitationsByInvitationIdAccept", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access-invitations/{invitationId}/decline": { "post": { "summary": "Decline Unit access invitation", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "invitationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": {} } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "invitedAuthUserId": { "type": "string", "format": "uuid" }, "permissions": { "type": "array", "items": { "default": "unit.read", "enum": [ "unit.read", "unit.update", "unit.metadata-only.update", "unit.status.update", "unit.history.restore", "unit.access.manage", "unit.association.manage", "unit.tag-curation.manage", "unit.reference-curation.manage", "unit.realm-publication.manage", "zone.pages.manage", "zone.theme.manage", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate", "entity.association.credit.request", "entity.association.credit.direct", "entity.association.subject.request", "entity.association.subject.direct" ], "type": "string" } }, "scope": { "maxItems": 8, "type": "array", "items": { "minLength": 1, "maxLength": 64, "pattern": "^[a-z0-9][a-z0-9-]*$", "type": "string" } }, "invitedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "accessExpiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "state": { "type": "string", "enum": ["pending", "expired", "accepted", "declined", "cancelled"] }, "resolution": { "nullable": true, "type": ["string", "null"], "enum": ["accepted", "declined", "cancelled"] }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "resolvedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "invitedAuthUserId", "permissions", "scope", "invitedByAuthUserId", "expiresAt", "accessExpiresAt", "state", "resolution", "resolvedAt", "resolvedByAuthUserId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessInvitationNotFound", "enum": ["UnitAccessInvitationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessInvitationConflict", "enum": ["UnitAccessInvitationConflict", "UnitAccessInvitationExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceUnitByUnitIdAccess-invitationsByInvitationIdDecline", "x-rezics-quota-route-operation-id": "postApiGovernanceUnitByUnitIdAccess-invitationsByInvitationIdDecline", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/unit/{unitId}/access-invitations/{invitationId}": { "delete": { "summary": "Cancel Unit access invitation", "tags": ["Governance"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "UnitAccessRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitAccessInvitationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessInvitationConflict", "enum": ["UnitAccessInvitationConflict", "UnitAccessInvitationExpired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "invitationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiGovernanceUnitByUnitIdAccess-invitationsByInvitationId", "x-rezics-quota-route-operation-id": "deleteApiGovernanceUnitByUnitIdAccess-invitationsByInvitationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/units": { "get": { "summary": "List Units for platform lifecycle administration", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "state", "in": "query", "required": false, "schema": { "type": "string", "enum": ["active", "deleted", "all"] } }, { "name": "query", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 63, "description": "Exact UUID, or exact slug with one explicit scope", "type": "string" } }, { "name": "scopeNamespaceId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "scopeUnitId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "status": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "ownership": { "nullable": true, "type": ["object", "null"], "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] }, "deletedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "protected": { "type": "boolean" } }, "required": [ "id", "owner", "shape", "title", "status", "ownership", "deletedAt", "updatedAt", "protected" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitGovernanceLookupInvalid", "enum": ["UnitGovernanceLookupInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernancePlatformUnits", "x-rezics-quota-route-operation-id": "getApiGovernancePlatformUnits", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/units/{unitId}": { "get": { "summary": "Get one Unit for platform lifecycle administration", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "status": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "ownership": { "nullable": true, "type": ["object", "null"], "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] }, "deletedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "protected": { "type": "boolean" } }, "required": [ "id", "owner", "shape", "title", "status", "ownership", "deletedAt", "updatedAt", "protected" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernancePlatformUnitsByUnitId", "x-rezics-quota-route-operation-id": "getApiGovernancePlatformUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/units/{unitId}/ownership-candidates": { "get": { "summary": "Search platform Unit ownership override recipients", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "query", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 63, "description": "Exact UUID, or exact slug with one explicit scope", "type": "string" } }, { "name": "scopeNamespaceId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "scopeUnitId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] }, "slug": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label", "slug"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitGovernanceLookupInvalid", "enum": ["UnitGovernanceLookupInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernancePlatformUnitsByUnitIdOwnership-candidates", "x-rezics-quota-route-operation-id": "getApiGovernancePlatformUnitsByUnitIdOwnership-candidates", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/units/{unitId}/ownership-override": { "post": { "summary": "Override Unit ownership through platform governance", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedOwnerEntityId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "targetEntityId": { "type": "string", "format": "uuid" }, "confirmationUnitId": { "type": "string", "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "note": { "minLength": 1, "maxLength": 2000, "type": "string" } }, "required": [ "expectedOwnerEntityId", "targetEntityId", "confirmationUnitId", "rules" ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "owner": { "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] } }, "required": ["owner"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitOwnershipOverrideConfirmationInvalid", "enum": [ "UnitOwnershipOverrideConfirmationInvalid", "GovernanceRuleSourceForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitOwnershipChanged", "enum": [ "UnitOwnershipChanged", "UnitOwnershipTargetIneligible", "GovernanceRuleChanged" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernancePlatformUnitsByUnitIdOwnership-override", "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnitsByUnitIdOwnership-override", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/units/{unitId}/delete": { "post": { "summary": "Soft-delete a Unit from the platform Console", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedUpdatedAt": { "type": "string", "format": "date-time" }, "confirmationUnitId": { "type": "string", "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "note": { "minLength": 1, "maxLength": 2000, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["expectedUpdatedAt", "confirmationUnitId", "rules"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "status": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "ownership": { "nullable": true, "type": ["object", "null"], "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] }, "deletedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "protected": { "type": "boolean" } }, "required": [ "id", "owner", "shape", "title", "status", "ownership", "deletedAt", "updatedAt", "protected" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLifecycleConfirmationInvalid", "enum": [ "UnitLifecycleConfirmationInvalid", "GovernanceRuleSourceForbidden", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLifecycleChanged", "enum": [ "UnitLifecycleChanged", "UnitLifecycleProtected", "UnitAlreadyDeleted", "UnitNotDeleted", "UnitMergeRequestConflict", "GovernanceRuleChanged" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernancePlatformUnitsByUnitIdDelete", "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnitsByUnitIdDelete", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/units/{unitId}/restore": { "post": { "summary": "Restore a soft-deleted Unit from the platform Console", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedUpdatedAt": { "type": "string", "format": "date-time" }, "confirmationUnitId": { "type": "string", "format": "uuid" }, "note": { "minLength": 1, "maxLength": 2000, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["expectedUpdatedAt", "confirmationUnitId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "status": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "ownership": { "nullable": true, "type": ["object", "null"], "properties": { "entityId": { "type": "string", "format": "uuid" }, "label": { "nullable": true, "type": ["string", "null"] } }, "required": ["entityId", "label"] }, "deletedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "protected": { "type": "boolean" } }, "required": [ "id", "owner", "shape", "title", "status", "ownership", "deletedAt", "updatedAt", "protected" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLifecycleConfirmationInvalid", "enum": [ "UnitLifecycleConfirmationInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLifecycleChanged", "enum": [ "UnitLifecycleChanged", "UnitLifecycleProtected", "UnitAlreadyDeleted", "UnitNotDeleted", "UnitMergeRequestConflict", "GovernanceReversalUnavailable" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernancePlatformUnitsByUnitIdRestore", "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnitsByUnitIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges": { "get": { "operationId": "listNativeMergeRequests", "summary": "List native identity merge requests", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "state", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] } }, { "name": "cursor", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "state": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] }, "manifest": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shape": { "type": "string" }, "sourceUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "targetUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "sourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "targetUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" } }, "required": [ "owner", "shape", "sourceUnit", "targetUnit", "sourceRevision", "targetRevision", "sourceUpdatedAt", "targetUpdatedAt", "status", "visibility", "plan", "fingerprint" ], "additionalProperties": false }, "proposer": { "type": "object", "properties": { "entityId": { "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)$" } }, "required": ["entityId"], "additionalProperties": false }, "note": { "type": ["string", "null"] }, "requiredApprovals": { "type": "number", "const": 2 }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "sourceRealmId": { "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)$" }, "revisionId": { "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)$" }, "ruleId": { "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)$" } }, "required": ["sourceRealmId", "revisionId", "ruleId"], "additionalProperties": false } }, "approvals": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rejections": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "reviews": { "maxItems": 2, "type": "array", "items": { "type": "object", "properties": { "entityId": { "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)$" }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "note": { "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["entityId", "decision", "note", "createdAt"], "additionalProperties": false } }, "operation": { "type": ["object", "null"], "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)$" }, "state": { "type": "string", "enum": [ "pending", "processing", "retry_wait", "action_required", "completed", "failed" ] }, "phase": { "type": "string", "enum": [ "canonicalize", "names", "identifiers", "semantics", "bindings", "structure", "settle", "finalize" ] }, "processedRows": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "totalItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "resolvedItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "attemptCount": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "availableAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "lastErrorCode": { "type": ["string", "null"] }, "lastErrorMessage": { "type": ["string", "null"] }, "startedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "phase", "processedRows", "totalItems", "resolvedItems", "attemptCount", "availableAt", "lastErrorCode", "lastErrorMessage", "startedAt", "completedAt" ], "additionalProperties": false }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "acceptedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "canonicalizedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "manifest", "proposer", "note", "requiredApprovals", "rules", "approvals", "rejections", "reviews", "operation", "expiresAt", "acceptedAt", "canonicalizedAt", "completedAt", "createdAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiGovernancePlatformUnit-merges", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "proposeNativeMerge", "summary": "Propose a native merge for two independent reviews", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "sourceUnitId": { "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)$" }, "targetUnitId": { "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)$" }, "plan": { "default": { "names": "copy_alternates", "identifiers": "copy_claims", "semantics": "retain_source", "structure": "retain_source", "bindings": "rebind_paused", "retainedAccess": "target_readers" }, "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "confirmationSourceUnitId": { "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)$" }, "confirmationTargetUnitId": { "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)$" }, "expectedSourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedTargetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "requestFingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "idempotencyKey": { "type": "string", "minLength": 1, "maxLength": 200 }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "sourceRealmId": { "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)$" }, "revisionId": { "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)$" }, "ruleId": { "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)$" } }, "required": ["sourceRealmId", "revisionId", "ruleId"], "additionalProperties": false } }, "note": { "type": "string", "maxLength": 2000 } }, "required": [ "sourceUnitId", "targetUnitId", "confirmationSourceUnitId", "confirmationTargetUnitId", "expectedSourceRevision", "expectedTargetRevision", "requestFingerprint", "idempotencyKey", "rules" ], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "state": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] }, "manifest": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shape": { "type": "string" }, "sourceUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "targetUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "sourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "targetUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" } }, "required": [ "owner", "shape", "sourceUnit", "targetUnit", "sourceRevision", "targetRevision", "sourceUpdatedAt", "targetUpdatedAt", "status", "visibility", "plan", "fingerprint" ], "additionalProperties": false }, "proposer": { "type": "object", "properties": { "entityId": { "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)$" } }, "required": ["entityId"], "additionalProperties": false }, "note": { "type": ["string", "null"] }, "requiredApprovals": { "type": "number", "const": 2 }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "sourceRealmId": { "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)$" }, "revisionId": { "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)$" }, "ruleId": { "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)$" } }, "required": ["sourceRealmId", "revisionId", "ruleId"], "additionalProperties": false } }, "approvals": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rejections": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "reviews": { "maxItems": 2, "type": "array", "items": { "type": "object", "properties": { "entityId": { "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)$" }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "note": { "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["entityId", "decision", "note", "createdAt"], "additionalProperties": false } }, "operation": { "type": ["object", "null"], "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)$" }, "state": { "type": "string", "enum": [ "pending", "processing", "retry_wait", "action_required", "completed", "failed" ] }, "phase": { "type": "string", "enum": [ "canonicalize", "names", "identifiers", "semantics", "bindings", "structure", "settle", "finalize" ] }, "processedRows": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "totalItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "resolvedItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "attemptCount": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "availableAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "lastErrorCode": { "type": ["string", "null"] }, "lastErrorMessage": { "type": ["string", "null"] }, "startedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "phase", "processedRows", "totalItems", "resolvedItems", "attemptCount", "availableAt", "lastErrorCode", "lastErrorMessage", "startedAt", "completedAt" ], "additionalProperties": false }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "acceptedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "canonicalizedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "manifest", "proposer", "note", "requiredApprovals", "rules", "approvals", "rejections", "reviews", "operation", "expiresAt", "acceptedAt", "canonicalizedAt", "completedAt", "createdAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnit-merges", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges/{requestId}": { "get": { "operationId": "readNativeMergeRequest", "summary": "Read a native identity merge request", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "requestId", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "state": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] }, "manifest": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shape": { "type": "string" }, "sourceUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "targetUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "sourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "targetUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" } }, "required": [ "owner", "shape", "sourceUnit", "targetUnit", "sourceRevision", "targetRevision", "sourceUpdatedAt", "targetUpdatedAt", "status", "visibility", "plan", "fingerprint" ], "additionalProperties": false }, "proposer": { "type": "object", "properties": { "entityId": { "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)$" } }, "required": ["entityId"], "additionalProperties": false }, "note": { "type": ["string", "null"] }, "requiredApprovals": { "type": "number", "const": 2 }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "sourceRealmId": { "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)$" }, "revisionId": { "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)$" }, "ruleId": { "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)$" } }, "required": ["sourceRealmId", "revisionId", "ruleId"], "additionalProperties": false } }, "approvals": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rejections": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "reviews": { "maxItems": 2, "type": "array", "items": { "type": "object", "properties": { "entityId": { "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)$" }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "note": { "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["entityId", "decision", "note", "createdAt"], "additionalProperties": false } }, "operation": { "type": ["object", "null"], "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)$" }, "state": { "type": "string", "enum": [ "pending", "processing", "retry_wait", "action_required", "completed", "failed" ] }, "phase": { "type": "string", "enum": [ "canonicalize", "names", "identifiers", "semantics", "bindings", "structure", "settle", "finalize" ] }, "processedRows": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "totalItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "resolvedItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "attemptCount": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "availableAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "lastErrorCode": { "type": ["string", "null"] }, "lastErrorMessage": { "type": ["string", "null"] }, "startedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "phase", "processedRows", "totalItems", "resolvedItems", "attemptCount", "availableAt", "lastErrorCode", "lastErrorMessage", "startedAt", "completedAt" ], "additionalProperties": false }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "acceptedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "canonicalizedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "manifest", "proposer", "note", "requiredApprovals", "rules", "approvals", "rejections", "reviews", "operation", "expiresAt", "acceptedAt", "canonicalizedAt", "completedAt", "createdAt" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiGovernancePlatformUnit-mergesByRequestId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges/preflight": { "post": { "operationId": "preflightNativeMerge", "summary": "Inspect native merge compatibility and reconciliation policy", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "sourceUnitId": { "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)$" }, "targetUnitId": { "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)$" }, "plan": { "default": { "names": "copy_alternates", "identifiers": "copy_claims", "semantics": "retain_source", "structure": "retain_source", "bindings": "rebind_paused", "retainedAccess": "target_readers" }, "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false } }, "required": ["sourceUnitId", "targetUnitId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shape": { "type": "string" }, "sourceUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "targetUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "sourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "targetUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" } }, "required": [ "owner", "shape", "sourceUnit", "targetUnit", "sourceRevision", "targetRevision", "sourceUpdatedAt", "targetUpdatedAt", "status", "visibility", "plan", "fingerprint" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnit-mergesPreflight", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges/{requestId}/reviews": { "post": { "operationId": "reviewNativeMerge", "summary": "Review a pinned native merge and data plan", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "requestId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "readGrants": { "type": "object", "properties": { "source": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "target": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } }, "additionalProperties": false }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "requestFingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "note": { "type": "string", "maxLength": 2000 } }, "required": ["decision", "requestFingerprint"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "state": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] }, "manifest": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shape": { "type": "string" }, "sourceUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "targetUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "sourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "targetUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" } }, "required": [ "owner", "shape", "sourceUnit", "targetUnit", "sourceRevision", "targetRevision", "sourceUpdatedAt", "targetUpdatedAt", "status", "visibility", "plan", "fingerprint" ], "additionalProperties": false }, "proposer": { "type": "object", "properties": { "entityId": { "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)$" } }, "required": ["entityId"], "additionalProperties": false }, "note": { "type": ["string", "null"] }, "requiredApprovals": { "type": "number", "const": 2 }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "sourceRealmId": { "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)$" }, "revisionId": { "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)$" }, "ruleId": { "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)$" } }, "required": ["sourceRealmId", "revisionId", "ruleId"], "additionalProperties": false } }, "approvals": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rejections": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "reviews": { "maxItems": 2, "type": "array", "items": { "type": "object", "properties": { "entityId": { "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)$" }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "note": { "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["entityId", "decision", "note", "createdAt"], "additionalProperties": false } }, "operation": { "type": ["object", "null"], "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)$" }, "state": { "type": "string", "enum": [ "pending", "processing", "retry_wait", "action_required", "completed", "failed" ] }, "phase": { "type": "string", "enum": [ "canonicalize", "names", "identifiers", "semantics", "bindings", "structure", "settle", "finalize" ] }, "processedRows": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "totalItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "resolvedItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "attemptCount": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "availableAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "lastErrorCode": { "type": ["string", "null"] }, "lastErrorMessage": { "type": ["string", "null"] }, "startedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "phase", "processedRows", "totalItems", "resolvedItems", "attemptCount", "availableAt", "lastErrorCode", "lastErrorMessage", "startedAt", "completedAt" ], "additionalProperties": false }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "acceptedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "canonicalizedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "manifest", "proposer", "note", "requiredApprovals", "rules", "approvals", "rejections", "reviews", "operation", "expiresAt", "acceptedAt", "canonicalizedAt", "completedAt", "createdAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnit-mergesByRequestIdReviews", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges/{requestId}/retry": { "post": { "operationId": "retryNativeMerge", "summary": "Retry native merge work under current authority", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "requestId", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "state": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] }, "manifest": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shape": { "type": "string" }, "sourceUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "targetUnit": { "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)$" }, "title": { "type": ["string", "null"], "maxLength": 500 } }, "required": ["id", "title"], "additionalProperties": false }, "sourceRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "targetUpdatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" } }, "required": [ "owner", "shape", "sourceUnit", "targetUnit", "sourceRevision", "targetRevision", "sourceUpdatedAt", "targetUpdatedAt", "status", "visibility", "plan", "fingerprint" ], "additionalProperties": false }, "proposer": { "type": "object", "properties": { "entityId": { "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)$" } }, "required": ["entityId"], "additionalProperties": false }, "note": { "type": ["string", "null"] }, "requiredApprovals": { "type": "number", "const": 2 }, "rules": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "sourceRealmId": { "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)$" }, "revisionId": { "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)$" }, "ruleId": { "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)$" } }, "required": ["sourceRealmId", "revisionId", "ruleId"], "additionalProperties": false } }, "approvals": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "rejections": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "reviews": { "maxItems": 2, "type": "array", "items": { "type": "object", "properties": { "entityId": { "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)$" }, "decision": { "type": "string", "enum": ["approve", "reject"] }, "note": { "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["entityId", "decision", "note", "createdAt"], "additionalProperties": false } }, "operation": { "type": ["object", "null"], "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)$" }, "state": { "type": "string", "enum": [ "pending", "processing", "retry_wait", "action_required", "completed", "failed" ] }, "phase": { "type": "string", "enum": [ "canonicalize", "names", "identifiers", "semantics", "bindings", "structure", "settle", "finalize" ] }, "processedRows": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "totalItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "resolvedItems": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "attemptCount": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "availableAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "lastErrorCode": { "type": ["string", "null"] }, "lastErrorMessage": { "type": ["string", "null"] }, "startedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "phase", "processedRows", "totalItems", "resolvedItems", "attemptCount", "availableAt", "lastErrorCode", "lastErrorMessage", "startedAt", "completedAt" ], "additionalProperties": false }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "acceptedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "canonicalizedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "completedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "state", "manifest", "proposer", "note", "requiredApprovals", "rules", "approvals", "rejections", "reviews", "operation", "expiresAt", "acceptedAt", "canonicalizedAt", "completedAt", "createdAt" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnit-mergesByRequestIdRetry", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges/{requestId}/items": { "get": { "operationId": "listNativeMergeReconciliation", "summary": "Inspect copied and retained native merge evidence", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "requestId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "state", "in": "query", "required": false, "schema": { "type": "string", "enum": ["pending", "applied", "retained", "action_required"] } }, { "name": "cursor", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "kind": { "type": "string", "enum": [ "name", "identifier", "semantic", "source_binding", "structure" ] }, "state": { "type": "string", "enum": ["pending", "applied", "retained", "action_required"] }, "sourceKey": { "type": "string" }, "decision": { "type": ["string", "null"] }, "sourceReference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "targetReference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "sourceNameId": { "type": ["string", "null"], "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)$" }, "sourceNameRevision": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetNameId": { "type": ["string", "null"], "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)$" }, "targetNameRevision": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceIdentifierId": { "type": ["string", "null"], "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)$" }, "sourceIdentifierRevision": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetIdentifierId": { "type": ["string", "null"], "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)$" }, "targetIdentifierRevision": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceSemanticId": { "type": ["string", "null"], "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)$" }, "sourceSemanticVersion": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "sourceRecordId": { "type": ["string", "null"], "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)$" }, "mappingKey": { "type": ["string", "null"], "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)$" }, "sourceBindingRevision": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "targetBindingRevision": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "currentBinding": { "type": ["object", "null"], "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["active", "paused", "withdrawn"] }, "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false } }, "required": ["revision", "state", "reference"], "additionalProperties": false }, "errorCode": { "type": ["string", "null"] }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "kind", "state", "sourceKey", "decision", "sourceReference", "targetReference", "sourceNameId", "sourceNameRevision", "targetNameId", "targetNameRevision", "sourceIdentifierId", "sourceIdentifierRevision", "targetIdentifierId", "targetIdentifierRevision", "sourceSemanticId", "sourceSemanticVersion", "sourceRecordId", "mappingKey", "sourceBindingRevision", "targetBindingRevision", "currentBinding", "errorCode", "resolvedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiGovernancePlatformUnit-mergesByRequestIdItems", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/platform/unit-merges/{requestId}/items/{itemId}/resolve": { "post": { "operationId": "resolveNativeMergeReconciliation", "summary": "Resolve one native reconciliation decision", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "requestId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "itemId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "action": { "type": "string", "enum": ["retry", "retain_source"] }, "expectedTargetRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedBindingRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "reason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "required": ["action", "expectedTargetRevision", "reason"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "resolved": { "type": "boolean", "const": true } }, "required": ["resolved"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiGovernancePlatformUnit-mergesByRequestIdItemsByItemIdResolve", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/rule-sources": { "get": { "summary": "List current Rule sources for a governance authority", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "authorityKind", "in": "query", "required": true, "schema": { "type": "string", "enum": ["platform", "realm", "zone", "unit"] } }, { "name": "authorityId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "minItems": 1, "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "scope": { "type": "string", "enum": ["platform", "realm", "local"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "revisionId": { "type": "string", "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 100, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" } }, "required": ["id", "language", "title"] } } }, "required": ["id", "scope", "language", "title", "revisionId", "rules"] } } }, "required": ["items"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceRuleSourceForbidden", "enum": ["GovernanceRuleSourceForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceRule-sources", "x-rezics-quota-route-operation-id": "getApiGovernanceRule-sources", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/notes/{postId}": { "get": { "summary": "Get governance note", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceNoteNotFound", "enum": ["GovernanceNoteNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceNotesByPostId", "x-rezics-quota-route-operation-id": "getApiGovernanceNotesByPostId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update governance note", "tags": ["Governance"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "baseRevisionId": { "type": "string", "format": "uuid" }, "editSummary": { "maxLength": 500, "type": "string" }, "minor": { "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["language", "content", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "GovernanceNoteNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiGovernanceNotesByPostId", "x-rezics-quota-route-operation-id": "patchApiGovernanceNotesByPostId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/content-review/cases/{caseId}/notes": { "get": { "operationId": "listContentReviewCaseNotes", "summary": "List content review case notes", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "caseId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentReviewCaseNotFound", "enum": ["ContentReviewCaseNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiGovernanceContent-reviewCasesByCaseIdNotes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/content-review/cases": { "get": { "summary": "List content review cases", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "state", "in": "query", "required": false, "schema": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "state": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" }, "authority": { "type": "string", "enum": ["platform", "realm"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "assignedProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "duplicateOfCaseId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "notes": { "type": "array", "items": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } }, "notesNextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "state", "authority", "realmId", "targetUnitId", "assignedProfileId", "duplicateOfCaseId", "notes", "notesNextCursor", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceContent-reviewCases", "x-rezics-quota-route-operation-id": "getApiGovernanceContent-reviewCases", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/content-review/cases/{caseId}": { "get": { "summary": "Get content review case", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "caseId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "state": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" }, "authority": { "type": "string", "enum": ["platform", "realm"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "assignedProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "duplicateOfCaseId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "notes": { "type": "array", "items": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } }, "notesNextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "state", "authority", "realmId", "targetUnitId", "assignedProfileId", "duplicateOfCaseId", "notes", "notesNextCursor", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentReviewCaseNotFound", "enum": ["ContentReviewCaseNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiGovernanceContent-reviewCasesByCaseId", "x-rezics-quota-route-operation-id": "getApiGovernanceContent-reviewCasesByCaseId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update content review case", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "caseId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "minProperties": 1, "additionalProperties": false, "type": "object", "properties": { "state": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" }, "assignedProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "duplicateOfCaseId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "internalNote": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["language", "content"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "state": { "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ], "type": "string" }, "authority": { "type": "string", "enum": ["platform", "realm"] }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "targetUnitId": { "type": "string", "format": "uuid" }, "assignedProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "duplicateOfCaseId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "notes": { "type": "array", "items": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } }, "notesNextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "state", "authority", "realmId", "targetUnitId", "assignedProfileId", "duplicateOfCaseId", "notes", "notesNextCursor", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentReviewCaseNotFound", "enum": ["ContentReviewCaseNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiGovernanceContent-reviewCasesByCaseId", "x-rezics-quota-route-operation-id": "patchApiGovernanceContent-reviewCasesByCaseId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/content-governance/actions": { "post": { "summary": "Apply content governance action", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "caseId": { "type": "string", "format": "uuid" }, "notes": { "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "idempotencyKey": { "minLength": 1, "maxLength": 256, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "kind": { "type": "string", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting" ] }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["caseId", "kind", "rules"] }, { "additionalProperties": false, "type": "object", "properties": { "caseId": { "type": "string", "format": "uuid" }, "notes": { "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "idempotencyKey": { "minLength": 1, "maxLength": 256, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "kind": { "type": "string", "const": "invalidate_license" }, "licenseGrantId": { "type": "string", "format": "uuid" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["caseId", "kind", "licenseGrantId", "rules"] }, { "additionalProperties": false, "type": "object", "properties": { "caseId": { "type": "string", "format": "uuid" }, "notes": { "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "idempotencyKey": { "minLength": 1, "maxLength": 256, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "kind": { "type": "string", "const": "restore_license" }, "reversesActionId": { "type": "string", "format": "uuid" } }, "required": ["caseId", "kind", "reversesActionId"] }, { "additionalProperties": false, "type": "object", "properties": { "caseId": { "type": "string", "format": "uuid" }, "notes": { "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "idempotencyKey": { "minLength": 1, "maxLength": 256, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "kind": { "type": "string", "const": "reverse" }, "reversesActionId": { "type": "string", "format": "uuid" } }, "required": ["caseId", "kind", "reversesActionId"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "actorProfileId": { "type": "string", "format": "uuid" }, "kind": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "previousState": { "nullable": true, "type": ["string", "null"] }, "resultingState": { "nullable": true, "type": ["string", "null"] }, "previousPostTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "licenseGrantId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "previousRecognitionStatus": { "nullable": true, "default": "recognized", "enum": ["recognized", "invalidated"], "type": ["string", "null"] }, "resultingRecognitionStatus": { "nullable": true, "default": "recognized", "enum": ["recognized", "invalidated"], "type": ["string", "null"] }, "resultingPostTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "reversesActionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rules": { "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "notes": { "type": "array", "items": { "type": "object", "required": ["postId", "role"], "properties": { "postId": { "type": "string", "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] } } } }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "caseId", "actorProfileId", "kind", "previousState", "resultingState", "previousPostTargetingLocked", "licenseGrantId", "previousRecognitionStatus", "resultingRecognitionStatus", "resultingPostTargetingLocked", "reversesActionId", "rules", "notes", "createdAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentGovernanceReversedActionInvalid", "enum": [ "ContentGovernanceReversedActionInvalid", "ContentGovernanceActionIncompatible", "GovernanceNoteRoleDuplicate", "ContentReviewRealmMissing", "GovernanceRuleSourceForbidden", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentReviewCaseNotFound", "enum": ["ContentReviewCaseNotFound", "ContentGovernanceTargetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentGovernanceTransitionInvalid", "enum": [ "ContentGovernanceTransitionInvalid", "ContentGovernanceActionNoEffect", "ContentGovernanceReversalUnavailable", "GovernanceReversalUnavailable", "ContentGovernanceIdempotencyConflict", "GovernanceRuleChanged", "PostTargetingLocked" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceContent-governanceActions", "x-rezics-quota-route-operation-id": "postApiGovernanceContent-governanceActions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/account-enforcements": { "post": { "summary": "Create account enforcement", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "enum": [ "warning", "silence", "suspension", "ban", "rate_limit", "trust_restriction" ] }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "notes": { "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "expiresAt": { "type": "string", "format": "date-time" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["authUserId", "kind", "rules"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "authUserId": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "active": { "type": "boolean" }, "startsAt": { "type": "string", "format": "date-time" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionActionId": { "type": "string", "format": "uuid" }, "revocationActionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "authUserId", "kind", "active", "startsAt", "expiresAt", "decisionActionId", "revocationActionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "EnforcementExpiryInvalid", "enum": [ "EnforcementExpiryInvalid", "GovernanceNoteRoleDuplicate", "GovernanceRuleSourceForbidden", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ProfileNotFound", "enum": ["ProfileNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceRuleChanged", "enum": ["GovernanceRuleChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceAccount-enforcements", "x-rezics-quota-route-operation-id": "postApiGovernanceAccount-enforcements", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/governance/account-enforcements/{enforcementId}/revoke": { "post": { "summary": "Revoke account enforcement", "tags": ["Governance"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "enforcementId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "notes": { "maxItems": 2, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "authUserId": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "active": { "type": "boolean" }, "startsAt": { "type": "string", "format": "date-time" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionActionId": { "type": "string", "format": "uuid" }, "revocationActionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "authUserId", "kind", "active", "startsAt", "expiresAt", "decisionActionId", "revocationActionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceNoteRoleDuplicate", "enum": [ "GovernanceNoteRoleDuplicate", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "EnforcementNotFound", "enum": ["EnforcementNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "EnforcementAlreadyRevoked", "enum": [ "EnforcementAlreadyRevoked", "EnforcementChanged", "GovernanceReversalUnavailable" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiGovernanceAccount-enforcementsByEnforcementIdRevoke", "x-rezics-quota-route-operation-id": "postApiGovernanceAccount-enforcementsByEnforcementIdRevoke", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/audit/events": { "get": { "summary": "List global security audit events", "tags": ["Audit"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 500, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } }, { "name": "category", "in": "query", "required": false, "schema": { "default": "admin_activity", "enum": ["admin_activity", "policy_denied", "system_event"], "type": "string" } }, { "name": "outcome", "in": "query", "required": false, "schema": { "default": "succeeded", "enum": ["succeeded", "denied", "failed"], "type": "string" } }, { "name": "action", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 200, "type": "string" } }, { "name": "actorProfileId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "authorityKind", "in": "query", "required": false, "schema": { "default": "platform", "enum": ["platform", "realm", "zone", "unit"], "type": "string" } }, { "name": "authorityId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "targetId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "schemaVersion": { "type": "number", "const": 2 }, "category": { "default": "admin_activity", "enum": ["admin_activity", "policy_denied", "system_event"], "type": "string" }, "outcome": { "default": "succeeded", "enum": ["succeeded", "denied", "failed"], "type": "string" }, "actor": { "type": "object", "properties": { "kind": { "default": "profile", "enum": ["profile", "auth", "system"], "type": "string" }, "profileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "profileName": { "nullable": true, "type": ["string", "null"] }, "credentialKind": { "default": "session", "enum": ["session", "api_token", "bootstrap", "system"], "type": "string" }, "credentialId": { "nullable": true, "type": ["string", "null"] } }, "required": [ "kind", "profileId", "profileName", "credentialKind", "credentialId" ] }, "authority": { "type": "object", "properties": { "kind": { "default": "platform", "enum": ["platform", "realm", "zone", "unit"], "type": "string" }, "id": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["kind", "id"] }, "action": { "type": "string" }, "outcomeCode": { "nullable": true, "type": ["string", "null"] }, "governanceDecisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "requestId": { "nullable": true, "type": ["string", "null"] }, "traceId": { "nullable": true, "type": ["string", "null"] }, "target": { "nullable": true, "type": ["object", "null"], "properties": { "kind": { "type": "string" }, "id": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "path": { "nullable": true, "type": ["string", "null"] }, "name": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "id", "path", "name"] }, "details": { "nullable": true, "type": ["object", "null"], "patternProperties": { "^(.*)$": {} } }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "schemaVersion", "category", "outcome", "actor", "authority", "action", "outcomeCode", "governanceDecisionId", "requestId", "traceId", "target", "details", "createdAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiAuditEvents", "x-rezics-quota-route-operation-id": "getApiAuditEvents", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/slug-address": { "put": { "operationId": "replaceZoneSlugAddress", "summary": "Replace a Zone slug address", "description": "Development preview. Assigns or renames a Zone's optional public slug in the permanent zones namespace. The former address is retained as a redirect.", "tags": ["Zones", "Slug Addresses"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "required": ["slug"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "addressId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "redirectAddressId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "addressId", "unitId", "scopeUnitId", "scopeNamespaceId", "slug", "redirectAddressId", "canonicalPath" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": ["InvalidSlug"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugTaken", "enum": ["SlugTaken", "SlugScopeUnavailable", "SlugScopeCycle"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugDepthExceeded", "enum": ["SlugDepthExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiZonesByZoneIdSlug-address", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}": { "get": { "summary": "Get Zone configuration", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["language", "title", "summary", "avatar", "banner", "cover"] } }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "appearanceDocument": { "$ref": "#/components/schemas/ZoneAppearanceDocument" }, "themeHero": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "startsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "endsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "localRuleRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "capabilities": { "additionalProperties": false, "type": "object", "properties": { "canManage": { "type": "boolean" }, "canManageTheme": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": ["canManage", "canManageTheme", "hasDevelopmentPreviewAccess"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "slugAddress", "language", "avatar", "banner", "cover", "localizations", "filterDocument", "appearanceDocument", "themeHero", "startsAt", "endsAt", "localRuleRealmId", "capabilities", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiZonesByZoneId", "x-rezics-quota-route-operation-id": "getApiZonesByZoneId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update Zone configuration", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "minProperties": 1, "additionalProperties": false, "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "appearanceDocument": { "$ref": "#/components/schemas/ZoneAppearanceDocument" }, "startsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "endsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "localRuleRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["language", "title", "summary", "avatar", "banner", "cover"] } }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "appearanceDocument": { "$ref": "#/components/schemas/ZoneAppearanceDocument" }, "themeHero": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "startsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "endsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "localRuleRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "capabilities": { "additionalProperties": false, "type": "object", "properties": { "canManage": { "type": "boolean" }, "canManageTheme": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": ["canManage", "canManageTheme", "hasDevelopmentPreviewAccess"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "slugAddress", "language", "avatar", "banner", "cover", "localizations", "filterDocument", "appearanceDocument", "themeHero", "startsAt", "endsAt", "localRuleRealmId", "capabilities", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ZoneDocumentInvalid", "enum": [ "ZoneDocumentInvalid", "ZoneRuleRealmInvalid", "ZoneTimeRangeInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiZonesByZoneId", "x-rezics-quota-route-operation-id": "patchApiZonesByZoneId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/render": { "get": { "operationId": "getZoneRenderProjection", "summary": "Get a Zone render projection", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "safeMode", "in": "query", "required": false, "schema": { "default": false, "type": "boolean" } }, { "name": "page", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 100, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "type": "string" } }, { "name": "pageId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "postId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "zone": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "language", "title", "summary", "avatar", "banner", "cover" ] } }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "appearanceDocument": { "$ref": "#/components/schemas/ZoneAppearanceDocument" }, "themeHero": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "startsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "endsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "localRuleRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "capabilities": { "additionalProperties": false, "type": "object", "properties": { "canManage": { "type": "boolean" }, "canManageTheme": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": ["canManage", "canManageTheme", "hasDevelopmentPreviewAccess"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "slugAddress", "language", "avatar", "banner", "cover", "localizations", "filterDocument", "appearanceDocument", "themeHero", "startsAt", "endsAt", "localRuleRealmId", "capabilities", "createdAt", "updatedAt" ] }, "resolvedPresentation": { "$ref": "#/components/schemas/ResolvedUnitPresentationResponse" }, "page": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "type": ["string", "null"] }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "home": { "type": "boolean" }, "placement": { "nullable": true, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "latestStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": [ "structureId", "nodeId", "parentPageId", "position", "latestStructureRevisionId" ] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "contentStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" } }, "required": ["language", "title", "document", "contentStatus"] } }, "latestUnitRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "slug", "document", "home", "placement", "language", "title", "localizations", "latestUnitRevisionId", "createdAt", "updatedAt" ] }, "dock": { "nullable": true, "type": ["object", "null"], "properties": { "unitId": { "type": "string", "format": "uuid" }, "surface": { "type": "string", "const": "main" }, "document": { "$ref": "#/components/schemas/DockDocument" } }, "required": ["unitId", "surface", "document"] }, "navigations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } }, "references": { "type": "object", "properties": { "units": { "type": "array", "items": { "type": "object", "properties": { "languageTag": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "zonePageSlug": { "nullable": true, "type": ["string", "null"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "kind", "zonePageSlug", "language", "title", "summary", "avatar", "banner", "cover" ] } }, "wikiPosts": { "type": "array", "items": { "type": "object", "properties": { "languageTag": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "zonePageSlug": { "nullable": true, "type": ["string", "null"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": [ "id", "kind", "zonePageSlug", "language", "title", "summary", "avatar", "banner", "cover", "body" ] } }, "assets": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } } }, "required": ["units", "wikiPosts", "assets"] } }, "required": [ "zone", "resolvedPresentation", "page", "dock", "navigations", "references" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdRender", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/page-addresses/by-id/{pageId}": { "get": { "operationId": "getZonePageAddressById", "summary": "Get one bounded Zone Page address projection by Unit ID", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": ["string", "null"] }, "redirected": { "type": "boolean" } }, "required": ["id", "zoneId", "slug", "redirected"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdPage-addressesBy-idByPageId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/page-addresses/by-slug/{slug}": { "get": { "operationId": "resolveZonePageAddressBySlug", "summary": "Resolve one bounded Zone Page address by scoped slug", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "slug", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": ["string", "null"] }, "redirected": { "type": "boolean" } }, "required": ["id", "zoneId", "slug", "redirected"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdPage-addressesBy-slugBySlug", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/pages": { "get": { "summary": "List Zone pages", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "type": ["string", "null"] }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "home": { "type": "boolean" }, "placement": { "nullable": true, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "latestStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": [ "structureId", "nodeId", "parentPageId", "position", "latestStructureRevisionId" ] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "contentStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" } }, "required": ["language", "title", "document", "contentStatus"] } }, "latestUnitRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "slug", "document", "home", "placement", "language", "title", "localizations", "latestUnitRevisionId", "createdAt", "updatedAt" ] } }, "pageStructure": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "latestRevisionId": { "type": "string", "format": "uuid" } }, "required": ["id", "latestRevisionId"] } }, "required": ["items", "pageStructure"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiZonesByZoneIdPages", "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdPages", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Zone page in development preview", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "slug": { "nullable": true, "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": ["string", "null"] }, "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" } }, "required": ["language", "title", "document"] }, "baseUnitRevisionId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["localization"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "type": ["string", "null"] }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "home": { "type": "boolean" }, "placement": { "nullable": true, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "latestStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": [ "structureId", "nodeId", "parentPageId", "position", "latestStructureRevisionId" ] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "contentStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" } }, "required": ["language", "title", "document", "contentStatus"] } }, "latestUnitRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "slug", "document", "home", "placement", "language", "title", "localizations", "latestUnitRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": [ "InvalidSlug", "ZoneDocumentInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugTaken", "enum": ["SlugTaken", "UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiZonesByZoneIdPages", "x-rezics-quota-route-operation-id": "postApiZonesByZoneIdPages", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/pages/{pageId}": { "get": { "summary": "Get Zone page by Unit ID", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "type": ["string", "null"] }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "home": { "type": "boolean" }, "placement": { "nullable": true, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "latestStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": [ "structureId", "nodeId", "parentPageId", "position", "latestStructureRevisionId" ] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "contentStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" } }, "required": ["language", "title", "document", "contentStatus"] } }, "latestUnitRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "slug", "document", "home", "placement", "language", "title", "localizations", "latestUnitRevisionId", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiZonesByZoneIdPagesByPageId", "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdPagesByPageId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace Zone page in development preview", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "slug": { "nullable": true, "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": ["string", "null"] }, "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" } }, "required": ["language", "title", "document"] }, "baseUnitRevisionId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["localization"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "type": ["string", "null"] }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "home": { "type": "boolean" }, "placement": { "nullable": true, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "latestStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": [ "structureId", "nodeId", "parentPageId", "position", "latestStructureRevisionId" ] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "contentStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" } }, "required": ["language", "title", "document", "contentStatus"] } }, "latestUnitRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "slug", "document", "home", "placement", "language", "title", "localizations", "latestUnitRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": [ "InvalidSlug", "ZoneDocumentInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugTaken", "enum": ["SlugTaken", "UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiZonesByZoneIdPagesByPageId", "x-rezics-quota-route-operation-id": "putApiZonesByZoneIdPagesByPageId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/pages/{pageId}/placement": { "put": { "summary": "Index Zone page in page-structure", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "baseStructureRevisionId": { "type": "string", "format": "uuid" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "slug": { "nullable": true, "type": ["string", "null"] }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "home": { "type": "boolean" }, "placement": { "nullable": true, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" }, "parentPageId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "latestStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": [ "structureId", "nodeId", "parentPageId", "position", "latestStructureRevisionId" ] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "document": { "$ref": "#/components/schemas/UnitReferencedBlockDocument" }, "contentStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" } }, "required": ["language", "title", "document", "contentStatus"] } }, "latestUnitRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "slug", "document", "home", "placement", "language", "title", "localizations", "latestUnitRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiZonesByZoneIdPagesByPageIdPlacement", "x-rezics-quota-route-operation-id": "putApiZonesByZoneIdPagesByPageIdPlacement", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Zone page from page-structure", "tags": ["Zones"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ZonePageInUse", "enum": ["ZonePageInUse", "ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseStructureRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseStructureRevisionId"] } } } }, "operationId": "deleteApiZonesByZoneIdPagesByPageIdPlacement", "x-rezics-quota-route-operation-id": "deleteApiZonesByZoneIdPagesByPageIdPlacement", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/navigation": { "get": { "summary": "List Zone navigation resources", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiZonesByZoneIdNavigation", "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdNavigation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Zone navigation", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "document": { "$ref": "#/components/schemas/NavigationDocument" } }, "required": ["document"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ZoneDocumentInvalid", "enum": ["ZoneDocumentInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiZonesByZoneIdNavigation", "x-rezics-quota-route-operation-id": "postApiZonesByZoneIdNavigation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones/{zoneId}/navigation/{navigationId}": { "get": { "summary": "Get Zone navigation resource", "tags": ["Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "navigationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZoneNavigationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiZonesByZoneIdNavigationByNavigationId", "x-rezics-quota-route-operation-id": "getApiZonesByZoneIdNavigationByNavigationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace Zone navigation", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "navigationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "document": { "$ref": "#/components/schemas/NavigationDocument" }, "baseRevisionId": { "type": "string", "format": "uuid" } }, "required": ["document", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "zoneId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "zoneId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ZoneDocumentInvalid", "enum": ["ZoneDocumentInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZoneNavigationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiZonesByZoneIdNavigationByNavigationId", "x-rezics-quota-route-operation-id": "putApiZonesByZoneIdNavigationByNavigationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete Zone navigation resource", "tags": ["Zones"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZoneNavigationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ZoneNavigationInUse", "enum": ["ZoneNavigationInUse", "ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "navigationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseRevisionId"] } } } }, "operationId": "deleteApiZonesByZoneIdNavigationByNavigationId", "x-rezics-quota-route-operation-id": "deleteApiZonesByZoneIdNavigationByNavigationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/zones": { "post": { "summary": "Create Zone", "tags": ["Zones"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "appearanceDocument": { "$ref": "#/components/schemas/ZoneAppearanceDocument" }, "startsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "endsAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "localRuleRealmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["localization", "filterDocument", "appearanceDocument"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ZoneDocumentInvalid", "enum": [ "ZoneDocumentInvalid", "ZoneRuleRealmInvalid", "ZoneTimeRangeInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiZones", "x-rezics-quota-route-operation-id": "postApiZones", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/merged-sources": { "get": { "operationId": "listMergedCatalogSources", "summary": "Find retained source records and their reconciliation policies", "tags": ["Catalog"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 10, "type": "integer", "minimum": 1, "maximum": 20 } }, { "name": "cursor", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "requestId": { "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)$" }, "readable": { "type": "boolean" }, "source": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" }, "title": { "type": ["string", "null"] } }, "required": ["owner", "id", "title"], "additionalProperties": false }, "state": { "type": "string", "enum": [ "pending_review", "accepted", "rejected", "expired", "superseded", "executing", "action_required", "completed", "failed" ] }, "plan": { "type": "object", "properties": { "names": { "type": "string", "enum": ["copy_alternates", "retain_source"] }, "identifiers": { "type": "string", "enum": ["copy_claims", "retain_source"] }, "semantics": { "type": "string", "const": "retain_source" }, "structure": { "type": "string", "const": "retain_source" }, "bindings": { "type": "string", "enum": ["rebind_paused", "pause_at_source"] }, "retainedAccess": { "type": "string", "const": "target_readers" } }, "required": [ "names", "identifiers", "semantics", "structure", "bindings", "retainedAccess" ], "additionalProperties": false }, "canonicalizedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "requestId", "readable", "source", "state", "plan", "canonicalizedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdMerged-sources", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}": { "get": { "operationId": "readMusicDetail", "tags": ["Music"], "summary": "Read a native music object", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" }, "canEdit": { "type": "boolean" }, "title": { "type": ["string", "null"] }, "credit": { "type": ["string", "null"] }, "kind": { "type": "string", "const": "release" }, "metadata": { "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)$" }, "releaseGroupId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "statusRevisionId": { "type": ["string", "null"], "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)$" }, "packagingRevisionId": { "type": ["string", "null"], "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)$" }, "languageTag": { "type": ["string", "null"] }, "scriptCode": { "type": ["string", "null"] }, "barcode": { "type": ["string", "null"] } }, "required": [ "id", "releaseGroupId", "artistCreditId", "statusRevisionId", "packagingRevisionId", "languageTag", "scriptCode", "barcode" ], "additionalProperties": false }, "media": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "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)$" }, "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)$" }, "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "name": { "type": ["string", "null"] }, "formatRevisionId": { "type": ["string", "null"], "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)$" }, "sourceTrackCount": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" } }, "required": [ "releaseId", "id", "position", "name", "formatRevisionId", "sourceTrackCount", "headId" ], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor", "revision"], "additionalProperties": false }, "tracks": { "type": ["object", "null"], "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "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)$" }, "mediumId": { "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)$" }, "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)$" }, "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "number": { "type": "string" }, "name": { "type": ["string", "null"] }, "recordingId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "isDataTrack": { "type": ["boolean", "null"] }, "headId": { "type": ["string", "null"], "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)$" } }, "required": [ "releaseId", "mediumId", "id", "position", "number", "name", "recordingId", "artistCreditId", "lengthMilliseconds", "isDataTrack", "headId" ], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor", "revision"], "additionalProperties": false }, "labels": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "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)$" }, "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)$" }, "labelId": { "type": ["string", "null"], "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)$" }, "catalogNumber": { "type": ["string", "null"] } }, "required": ["releaseId", "id", "labelId", "catalogNumber"], "additionalProperties": false } }, "dates": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "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)$" }, "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)$" }, "areaId": { "type": ["string", "null"], "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)$" }, "dateYear": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "dateMonth": { "type": ["integer", "null"], "minimum": -32768, "maximum": 32767 }, "dateDay": { "type": ["integer", "null"], "minimum": -32768, "maximum": 32767 }, "dateText": { "type": ["string", "null"] } }, "required": [ "releaseId", "id", "areaId", "dateYear", "dateMonth", "dateDay", "dateText" ], "additionalProperties": false } } }, "required": [ "id", "revision", "headId", "canEdit", "title", "credit", "kind", "metadata", "media", "tracks", "labels", "dates" ], "additionalProperties": false }, { "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" }, "canEdit": { "type": "boolean" }, "title": { "type": ["string", "null"] }, "credit": { "type": ["string", "null"] }, "kind": { "type": "string", "const": "recording" }, "metadata": { "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "video": { "type": ["boolean", "null"] } }, "required": ["id", "artistCreditId", "lengthMilliseconds", "video"], "additionalProperties": false } }, "required": [ "id", "revision", "headId", "canEdit", "title", "credit", "kind", "metadata" ], "additionalProperties": false }, { "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" }, "canEdit": { "type": "boolean" }, "title": { "type": ["string", "null"] }, "credit": { "type": ["string", "null"] }, "kind": { "type": "string", "const": "release_group" }, "metadata": { "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "primaryTypeRevisionId": { "type": ["string", "null"], "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)$" } }, "required": ["id", "artistCreditId", "primaryTypeRevisionId"], "additionalProperties": false } }, "required": [ "id", "revision", "headId", "canEdit", "title", "credit", "kind", "metadata" ], "additionalProperties": false }, { "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" }, "canEdit": { "type": "boolean" }, "title": { "type": ["string", "null"] }, "credit": { "type": ["string", "null"] }, "kind": { "type": "string", "const": "work" }, "metadata": { "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)$" }, "typeRevisionId": { "type": ["string", "null"], "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)$" } }, "required": ["id", "typeRevisionId"], "additionalProperties": false }, "languages": { "maxItems": 50, "type": "array", "items": { "type": "string" } } }, "required": [ "id", "revision", "headId", "canEdit", "title", "credit", "kind", "metadata", "languages" ], "additionalProperties": false }, { "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" }, "canEdit": { "type": "boolean" }, "title": { "type": ["string", "null"] }, "credit": { "type": ["string", "null"] }, "kind": { "type": "string", "const": "release_candidate" }, "metadata": { "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)$" }, "creditedArtistText": { "type": ["string", "null"] }, "barcode": { "type": ["string", "null"] }, "comment": { "type": ["string", "null"] } }, "required": ["id", "creditedArtistText", "barcode", "comment"], "additionalProperties": false }, "tracks": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "candidateId": { "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)$" }, "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)$" }, "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "name": { "type": "string" }, "creditedArtistText": { "type": ["string", "null"] } }, "required": [ "candidateId", "id", "position", "name", "creditedArtistText" ], "additionalProperties": false } } }, "required": [ "id", "revision", "headId", "canEdit", "title", "credit", "kind", "metadata", "tracks" ], "additionalProperties": false } ] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/metadata": { "patch": { "operationId": "patchMusicMetadata", "tags": ["Music"], "summary": "Edit exact native music metadata", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" }, "kind": { "type": "string", "const": "release" }, "value": { "type": "object", "properties": { "barcode": { "type": ["string", "null"], "maxLength": 512 }, "languageTag": { "type": ["string", "null"], "maxLength": 255 }, "scriptCode": { "type": ["string", "null"], "pattern": "^[A-Z][a-z]{3}$" }, "releaseGroupId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "statusRevisionId": { "type": ["string", "null"], "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)$" }, "packagingRevisionId": { "type": ["string", "null"], "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)$" } }, "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadId", "kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" }, "kind": { "type": "string", "const": "recording" }, "value": { "type": "object", "properties": { "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "video": { "type": ["boolean", "null"] }, "artistCreditId": { "type": ["string", "null"], "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)$" } }, "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadId", "kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" }, "kind": { "type": "string", "const": "work" }, "value": { "type": "object", "properties": { "typeRevisionId": { "type": ["string", "null"], "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)$" } }, "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadId", "kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" }, "kind": { "type": "string", "const": "release_group" }, "value": { "type": "object", "properties": { "primaryTypeRevisionId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" } }, "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadId", "kind", "value"], "additionalProperties": false } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiCatalogMusicByIdMetadata", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/media": { "get": { "operationId": "listMusicMedia", "tags": ["Music"], "summary": "Page album media", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterPosition", "in": "query", "required": false, "schema": { "default": -1, "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "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)$" }, "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)$" }, "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "name": { "type": ["string", "null"] }, "formatRevisionId": { "type": ["string", "null"], "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)$" }, "sourceTrackCount": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "headId": { "type": ["string", "null"], "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)$" } }, "required": [ "releaseId", "id", "position", "name", "formatRevisionId", "sourceTrackCount", "headId" ], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor", "revision"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicByIdMedia", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "addMusicMedium", "tags": ["Music"], "summary": "Add an album medium", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "name": { "type": ["string", "null"], "maxLength": 131072 }, "sourceTrackCount": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "position"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" } }, "required": ["revision", "id"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogMusicByIdMedia", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/media/{mediumId}": { "patch": { "operationId": "patchMusicMedium", "tags": ["Music"], "summary": "Edit an exact medium", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" }, "value": { "type": "object", "properties": { "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "name": { "type": ["string", "null"], "maxLength": 131072 }, "formatRevisionId": { "type": ["string", "null"], "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)$" }, "sourceTrackCount": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadId", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiCatalogMusicByIdMediaByMediumId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removeMusicMedium", "tags": ["Music"], "summary": "Remove an empty album medium", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" } }, "required": ["expectedRevision", "expectedHeadId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogMusicByIdMediaByMediumId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/media/{mediumId}/tracks": { "get": { "operationId": "listMusicTracks", "tags": ["Music"], "summary": "Page a medium's track occurrences", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterPosition", "in": "query", "required": false, "schema": { "default": -1, "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "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)$" }, "mediumId": { "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)$" }, "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)$" }, "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "number": { "type": "string" }, "name": { "type": ["string", "null"] }, "recordingId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "isDataTrack": { "type": ["boolean", "null"] }, "headId": { "type": ["string", "null"], "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)$" } }, "required": [ "releaseId", "mediumId", "id", "position", "number", "name", "recordingId", "artistCreditId", "lengthMilliseconds", "isDataTrack", "headId" ], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor", "revision"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicByIdMediaByMediumIdTracks", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "addMusicTrack", "tags": ["Music"], "summary": "Add a printed track occurrence", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "number": { "type": "string", "maxLength": 131072 }, "name": { "type": ["string", "null"], "maxLength": 131072 }, "recordingId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "isDataTrack": { "type": ["boolean", "null"] } }, "required": [ "position", "number", "name", "recordingId", "artistCreditId", "lengthMilliseconds", "isDataTrack" ], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" } }, "required": ["revision", "id"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogMusicByIdMediaByMediumIdTracks", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/tracks/{trackId}": { "patch": { "operationId": "patchMusicTrack", "tags": ["Music"], "summary": "Edit an exact track occurrence", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "trackId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" }, "value": { "type": "object", "properties": { "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "number": { "type": "string", "maxLength": 131072 }, "name": { "type": ["string", "null"], "maxLength": 131072 }, "recordingId": { "type": ["string", "null"], "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)$" }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "isDataTrack": { "type": ["boolean", "null"] }, "mediumId": { "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)$" } }, "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadId", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiCatalogMusicByIdTracksByTrackId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removeMusicTrack", "tags": ["Music"], "summary": "Remove an exact track occurrence", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "trackId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadId": { "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)$" } }, "required": ["expectedRevision", "expectedHeadId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogMusicByIdTracksByTrackId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/structure": { "get": { "operationId": "readMusicStructure", "tags": ["Music"], "summary": "Page live native music component values", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "component", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] } }, { "name": "afterKey", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 1536 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "headId": { "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)$" }, "value": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": ["component", "componentKey", "headId", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor", "revision"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicByIdStructure", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "mutateMusicStructure", "tags": ["Music"], "summary": "Apply a bounded exact music structure batch", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "operations": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "oneOf": [ { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string", "minLength": 1, "maxLength": 1536 }, "expectedRevisionId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "const": "put" }, "value": {} }, "required": [ "component", "componentKey", "expectedRevisionId", "action", "value" ], "additionalProperties": false }, { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string", "minLength": 1, "maxLength": 1536 }, "expectedRevisionId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "const": "remove" } }, "required": ["component", "componentKey", "expectedRevisionId", "action"], "additionalProperties": false }, { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string", "minLength": 1, "maxLength": 1536 }, "expectedRevisionId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "const": "restore" }, "historyId": { "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)$" } }, "required": [ "component", "componentKey", "expectedRevisionId", "action", "historyId" ], "additionalProperties": false } ] } } }, "required": ["expectedRevision", "operations"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogMusicByIdStructure", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/history": { "get": { "operationId": "listMusicHistory", "tags": ["Music"], "summary": "Page exact music component history", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "component", "in": "query", "required": true, "schema": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] } }, { "name": "componentKey", "in": "query", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 1536 } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "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)$" }, "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "ownerRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "operation": { "type": "string", "enum": ["INSERT", "UPDATE", "DELETE"] }, "value": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "restorable": { "type": "boolean" } }, "required": [ "id", "component", "componentKey", "componentSequence", "ownerRevision", "operation", "value", "recordedAt", "restorable" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicByIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/restore": { "post": { "operationId": "restoreMusicComponent", "tags": ["Music"], "summary": "Restore one exact music component history value", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string", "minLength": 1, "maxLength": 1536 }, "expectedHeadId": { "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)$" }, "historyId": { "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)$" } }, "required": [ "expectedRevision", "component", "componentKey", "expectedHeadId", "historyId" ], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "changes": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "component": { "type": "string", "enum": [ "music_work", "music_recording", "music_release_group", "music_work_language", "music_release_group_secondary_type", "music_release", "music_track_identifier", "music_medium_identifier", "music_medium", "music_track_occurrence", "music_release_label", "music_release_event", "music_release_presentation", "music_medium_presentation", "music_track_presentation", "music_medium_toc", "music_medium_attribute" ] }, "componentKey": { "type": "string" }, "beforeRevisionId": { "type": ["string", "null"], "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)$" }, "afterRevisionId": { "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)$" } }, "required": [ "component", "componentKey", "beforeRevisionId", "afterRevisionId" ], "additionalProperties": false } } }, "required": ["revision", "changes"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogMusicByIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/media/{mediumId}/tocs": { "post": { "operationId": "attachMusicDiscToc", "tags": ["Music"], "summary": "Attach physical disc pressing evidence", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "discId": { "type": ["string", "null"], "minLength": 1, "maxLength": 512 }, "freeDbId": { "type": ["string", "null"], "minLength": 1, "maxLength": 512 }, "leadoutOffset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "offsets": { "minItems": 1, "maxItems": 99, "type": "array", "items": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } } }, "required": ["leadoutOffset", "offsets"], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" } }, "required": ["revision", "id"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogMusicByIdMediaByMediumIdTocs", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "get": { "operationId": "listMusicDiscTocs", "tags": ["Music"], "summary": "Page physical disc pressing evidence", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "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)$" }, "discId": { "type": ["string", "null"] }, "freeDbId": { "type": ["string", "null"] }, "trackCount": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "leadoutOffset": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["id", "discId", "freeDbId", "trackCount", "leadoutOffset"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicByIdMediaByMediumIdTocs", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/music/{id}/media/{mediumId}/tocs/{tocId}": { "get": { "operationId": "readMusicDiscToc", "tags": ["Music"], "summary": "Read a disc's exact physical offsets", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mediumId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "tocId", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "discId": { "type": ["string", "null"] }, "freeDbId": { "type": ["string", "null"] }, "trackCount": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "leadoutOffset": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "offsets": { "maxItems": 99, "type": "array", "items": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } } }, "required": [ "id", "discId", "freeDbId", "trackCount", "leadoutOffset", "offsets" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogMusicByIdMediaByMediumIdTocsByTocId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/details": { "get": { "operationId": "readSoftwareDetails", "summary": "Read software content, version or release details", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "canEdit": { "type": "boolean" }, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "contentId": { "type": ["string", "null"], "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)$" }, "details": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "content" }, "value": { "type": "object", "properties": { "originalLanguageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "developmentStatus": { "default": null, "type": ["string", "null"], "enum": ["finished", "in_development", "cancelled"] }, "description": { "default": null, "type": ["string", "null"] } }, "required": [ "originalLanguageTag", "developmentStatus", "description" ], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "version" }, "value": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "revision", "translation", "localization", "port", "variant" ] }, "versionLabel": { "default": null, "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "distinguishingEvidence": { "type": "string", "minLength": 1 } }, "required": [ "kind", "versionLabel", "languageTag", "distinguishingEvidence" ], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "release" }, "value": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "isPatch": { "default": null, "type": ["boolean", "null"] }, "freeware": { "default": null, "type": ["boolean", "null"] }, "uncensored": { "default": null, "type": ["boolean", "null"] }, "hasEroticContent": { "default": null, "type": ["boolean", "null"] }, "minimumAge": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 255 }, "resolution": { "default": null, "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "pixels" }, "width": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "height": { "type": "integer", "minimum": 1, "maximum": 2147483647 } }, "required": ["kind", "width", "height"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "non_standard" } }, "required": ["kind"], "additionalProperties": false } ] }, { "type": "null" } ] }, "engine": { "default": null, "type": ["string", "null"] }, "voicing": { "default": null, "type": ["string", "null"], "enum": ["none", "erotic_only", "partial", "full"] }, "notes": { "default": null, "type": ["string", "null"] }, "gtin": { "default": null, "type": ["string", "null"] }, "catalogNumber": { "default": null, "type": ["string", "null"] }, "date": { "default": { "year": null, "month": null, "day": null, "text": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false } }, "required": [ "typeRevisionId", "isPatch", "freeware", "uncensored", "hasEroticContent", "minimumAge", "resolution", "engine", "voicing", "notes", "gtin", "catalogNumber", "date" ], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false } ] } }, "required": ["canEdit", "id", "revision", "contentId", "details"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdDetails", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "reviseSoftwareDetails", "summary": "Revise software details against the current owner revision", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "details": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "content" }, "value": { "type": "object", "properties": { "originalLanguageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "developmentStatus": { "default": null, "type": ["string", "null"], "enum": ["finished", "in_development", "cancelled"] }, "description": { "default": null, "type": ["string", "null"] } }, "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "version" }, "value": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "revision", "translation", "localization", "port", "variant" ] }, "versionLabel": { "default": null, "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "distinguishingEvidence": { "type": "string", "minLength": 1 } }, "required": ["kind", "distinguishingEvidence"], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "release" }, "value": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "isPatch": { "default": null, "type": ["boolean", "null"] }, "freeware": { "default": null, "type": ["boolean", "null"] }, "uncensored": { "default": null, "type": ["boolean", "null"] }, "hasEroticContent": { "default": null, "type": ["boolean", "null"] }, "minimumAge": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 255 }, "resolution": { "default": null, "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "pixels" }, "width": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "height": { "type": "integer", "minimum": 1, "maximum": 2147483647 } }, "required": ["kind", "width", "height"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "non_standard" } }, "required": ["kind"], "additionalProperties": false } ] }, { "type": "null" } ] }, "engine": { "default": null, "type": ["string", "null"] }, "voicing": { "default": null, "type": ["string", "null"], "enum": ["none", "erotic_only", "partial", "full"] }, "notes": { "default": null, "type": ["string", "null"] }, "gtin": { "default": null, "type": ["string", "null"] }, "catalogNumber": { "default": null, "type": ["string", "null"] }, "date": { "default": { "year": null, "month": null, "day": null, "text": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false } }, "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false } ] } }, "required": ["expectedRevision", "details"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogSoftwareByIdDetails", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/history": { "get": { "operationId": "listSoftwareDetailsHistory", "summary": "Read authorized software detail history", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "details": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "content" }, "value": { "type": "object", "properties": { "originalLanguageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "developmentStatus": { "default": null, "type": ["string", "null"], "enum": ["finished", "in_development", "cancelled"] }, "description": { "default": null, "type": ["string", "null"] } }, "required": [ "originalLanguageTag", "developmentStatus", "description" ], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "version" }, "value": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "revision", "translation", "localization", "port", "variant" ] }, "versionLabel": { "default": null, "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "distinguishingEvidence": { "type": "string", "minLength": 1 } }, "required": [ "kind", "versionLabel", "languageTag", "distinguishingEvidence" ], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "release" }, "value": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "isPatch": { "default": null, "type": ["boolean", "null"] }, "freeware": { "default": null, "type": ["boolean", "null"] }, "uncensored": { "default": null, "type": ["boolean", "null"] }, "hasEroticContent": { "default": null, "type": ["boolean", "null"] }, "minimumAge": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 255 }, "resolution": { "default": null, "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "pixels" }, "width": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "height": { "type": "integer", "minimum": 1, "maximum": 2147483647 } }, "required": ["kind", "width", "height"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "non_standard" } }, "required": ["kind"], "additionalProperties": false } ] }, { "type": "null" } ] }, "engine": { "default": null, "type": ["string", "null"] }, "voicing": { "default": null, "type": ["string", "null"], "enum": ["none", "erotic_only", "partial", "full"] }, "notes": { "default": null, "type": ["string", "null"] }, "gtin": { "default": null, "type": ["string", "null"] }, "catalogNumber": { "default": null, "type": ["string", "null"] }, "date": { "default": { "year": null, "month": null, "day": null, "text": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false } }, "required": [ "typeRevisionId", "isPatch", "freeware", "uncensored", "hasEroticContent", "minimumAge", "resolution", "engine", "voicing", "notes", "gtin", "catalogNumber", "date" ], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false } ] } }, "required": ["revision", "recordedAt", "details"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/history/restore": { "post": { "operationId": "restoreSoftwareDetails", "summary": "Restore historical software details as a new revision", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historicalRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "historicalRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSoftwareByIdHistoryRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/releases": { "get": { "operationId": "findSoftwareReleases", "summary": "Find readable releases matching the same language, platform and medium", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "languageTag", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 255 } }, { "name": "machineTranslated", "in": "query", "required": false, "schema": { "type": "string", "enum": ["true", "false"] } }, { "name": "platformRevisionId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "mediumTypeRevisionId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "isPatch", "in": "query", "required": false, "schema": { "type": "string", "enum": ["true", "false"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "name": { "type": ["object", "null"], "properties": { "value": { "type": "string" }, "languageTag": { "type": ["string", "null"] } }, "required": ["value", "languageTag"], "additionalProperties": false }, "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)$" }, "isPatch": { "type": ["boolean", "null"] }, "engine": { "type": ["string", "null"] }, "dateYear": { "type": ["number", "null"] }, "dateMonth": { "type": ["number", "null"] }, "dateDay": { "type": ["number", "null"] } }, "required": [ "name", "id", "isPatch", "engine", "dateYear", "dateMonth", "dateDay" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdReleases", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/components/{kind}": { "get": { "operationId": "listSoftwareComponents", "summary": "List native release content, languages, carriers and animation", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "content", "platform", "medium", "language", "event", "patch_target", "animation" ] } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 96 }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "content" }, "contentId": { "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)$" }, "versionId": { "default": null, "type": ["string", "null"], "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)$" }, "releaseTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": [ "kind", "contentId", "versionId", "releaseTypeRevisionId" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "platform" }, "platformRevisionId": { "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)$" } }, "required": ["kind", "platformRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "medium" }, "mediumTypeRevisionId": { "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)$" }, "quantity": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": ["kind", "mediumTypeRevisionId", "quantity"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "language" }, "languageTag": { "type": "string", "maxLength": 255 }, "channelRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "machineTranslated": { "default": null, "type": ["boolean", "null"] }, "main": { "default": null, "type": ["boolean", "null"] }, "title": { "default": null, "type": ["string", "null"] }, "transliteratedTitle": { "default": null, "type": ["string", "null"] } }, "required": [ "kind", "languageTag", "channelRevisionId", "machineTranslated", "main", "title", "transliteratedTitle" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "event" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "date": { "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false } }, "required": ["kind", "areaId", "date"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "patch_target" }, "baseReleaseId": { "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": { "default": null, "type": ["string", "null"] } }, "required": ["kind", "baseReleaseId", "compatibility"], "additionalProperties": false }, { "type": "object", "properties": { "context": { "type": "string", "enum": [ "story_sprite", "story_scene", "cutscene", "erotic_sprite", "erotic_scene" ] }, "state": { "type": "string", "enum": ["unknown", "none", "not_applicable", "animated"] }, "handDrawn": { "default": false, "type": "boolean" }, "vectorial": { "default": false, "type": "boolean" }, "threeDimensional": { "default": false, "type": "boolean" }, "liveAction": { "default": false, "type": "boolean" }, "frequency": { "default": "unknown", "type": "string", "enum": ["unknown", "some", "all"] }, "kind": { "type": "string", "const": "animation" } }, "required": [ "context", "state", "handDrawn", "vectorial", "threeDimensional", "liveAction", "frequency", "kind" ], "additionalProperties": false } ] } }, "required": ["id", "revision", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdComponentsByKind", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/components/{kind}/{componentId}": { "put": { "operationId": "putSoftwareComponent", "summary": "Add or revise an exact software release component", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "content", "platform", "medium", "language", "event", "patch_target", "animation" ] } }, { "name": "componentId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 96 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedComponentRevision": { "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 }, "value": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "content" }, "contentId": { "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)$" }, "versionId": { "default": null, "type": ["string", "null"], "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)$" }, "releaseTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["kind", "contentId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "platform" }, "platformRevisionId": { "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)$" } }, "required": ["kind", "platformRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "medium" }, "mediumTypeRevisionId": { "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)$" }, "quantity": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": ["kind", "mediumTypeRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "language" }, "languageTag": { "type": "string", "maxLength": 255 }, "channelRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "machineTranslated": { "default": null, "type": ["boolean", "null"] }, "main": { "default": null, "type": ["boolean", "null"] }, "title": { "default": null, "type": ["string", "null"] }, "transliteratedTitle": { "default": null, "type": ["string", "null"] } }, "required": ["kind", "languageTag"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "event" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "date": { "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false } }, "required": ["kind", "date"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "patch_target" }, "baseReleaseId": { "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": { "default": null, "type": ["string", "null"] } }, "required": ["kind", "baseReleaseId"], "additionalProperties": false }, { "type": "object", "properties": { "context": { "type": "string", "enum": [ "story_sprite", "story_scene", "cutscene", "erotic_sprite", "erotic_scene" ] }, "state": { "type": "string", "enum": ["unknown", "none", "not_applicable", "animated"] }, "handDrawn": { "default": false, "type": "boolean" }, "vectorial": { "default": false, "type": "boolean" }, "threeDimensional": { "default": false, "type": "boolean" }, "liveAction": { "default": false, "type": "boolean" }, "frequency": { "default": "unknown", "type": "string", "enum": ["unknown", "some", "all"] }, "kind": { "type": "string", "const": "animation" } }, "required": ["context", "state", "kind"], "additionalProperties": false } ] } }, "required": ["expectedRevision", "expectedComponentRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "componentRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "componentRevision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogSoftwareByIdComponentsByKindByComponentId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "withdrawSoftwareComponent", "summary": "Withdraw one exact release component", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "content", "platform", "medium", "language", "event", "patch_target", "animation" ] } }, { "name": "componentId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 96 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedComponentRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "expectedComponentRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "componentRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "componentRevision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogSoftwareByIdComponentsByKindByComponentId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/components/{kind}/{componentId}/history": { "get": { "operationId": "listSoftwareComponentHistory", "summary": "Read authorized release component revisions", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "content", "platform", "medium", "language", "event", "patch_target", "animation" ] } }, { "name": "componentId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 96 } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 96 }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "operation": { "type": "string", "enum": ["put", "remove"] }, "value": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "content" }, "contentId": { "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)$" }, "versionId": { "default": null, "type": ["string", "null"], "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)$" }, "releaseTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": [ "kind", "contentId", "versionId", "releaseTypeRevisionId" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "platform" }, "platformRevisionId": { "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)$" } }, "required": ["kind", "platformRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "medium" }, "mediumTypeRevisionId": { "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)$" }, "quantity": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": ["kind", "mediumTypeRevisionId", "quantity"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "language" }, "languageTag": { "type": "string", "maxLength": 255 }, "channelRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "machineTranslated": { "default": null, "type": ["boolean", "null"] }, "main": { "default": null, "type": ["boolean", "null"] }, "title": { "default": null, "type": ["string", "null"] }, "transliteratedTitle": { "default": null, "type": ["string", "null"] } }, "required": [ "kind", "languageTag", "channelRevisionId", "machineTranslated", "main", "title", "transliteratedTitle" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "event" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "date": { "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false } }, "required": ["kind", "areaId", "date"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "patch_target" }, "baseReleaseId": { "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": { "default": null, "type": ["string", "null"] } }, "required": ["kind", "baseReleaseId", "compatibility"], "additionalProperties": false }, { "type": "object", "properties": { "context": { "type": "string", "enum": [ "story_sprite", "story_scene", "cutscene", "erotic_sprite", "erotic_scene" ] }, "state": { "type": "string", "enum": ["unknown", "none", "not_applicable", "animated"] }, "handDrawn": { "default": false, "type": "boolean" }, "vectorial": { "default": false, "type": "boolean" }, "threeDimensional": { "default": false, "type": "boolean" }, "liveAction": { "default": false, "type": "boolean" }, "frequency": { "default": "unknown", "type": "string", "enum": ["unknown", "some", "all"] }, "kind": { "type": "string", "const": "animation" } }, "required": [ "context", "state", "handDrawn", "vectorial", "threeDimensional", "liveAction", "frequency", "kind" ], "additionalProperties": false } ] } }, "required": ["id", "revision", "operation", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdComponentsByKindByComponentIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/components/{kind}/{componentId}/restore": { "post": { "operationId": "restoreSoftwareComponent", "summary": "Restore a release component against its exact current revision", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "content", "platform", "medium", "language", "event", "patch_target", "animation" ] } }, { "name": "componentId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 96 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedComponentRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historicalRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "expectedComponentRevision", "historicalRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "componentRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "componentRevision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSoftwareByIdComponentsByKindByComponentIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/contexts": { "get": { "operationId": "listSoftwareParticipationContexts", "summary": "List software credit contexts", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "includeWithdrawn", "in": "query", "required": false, "schema": { "type": "string", "enum": ["true", "false"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdContexts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "createSoftwareParticipationContext", "summary": "Create a software credit context", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "state"], "additionalProperties": false } }, "required": ["value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSoftwareByIdContexts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/contexts/{contextId}": { "get": { "operationId": "readSoftwareParticipationContext", "summary": "Read a software credit context", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "contextId", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdContextsByContextId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "reviseSoftwareParticipationContext", "summary": "Revise one exact credit context", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "contextId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "state"], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogSoftwareByIdContextsByContextId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/contexts/{contextId}/history": { "get": { "operationId": "listSoftwareParticipationContextHistory", "summary": "Read authorized credit context history", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "contextId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "value": { "anyOf": [ { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false }, { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } ] } }, "required": ["id", "revision", "recordedAt", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdContextsByContextIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/contexts/{contextId}/restore": { "post": { "operationId": "restoreSoftwareParticipationContext", "summary": "Restore a credit context as a new revision", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "contextId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historicalRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "historicalRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSoftwareByIdContextsByContextIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/credits": { "get": { "operationId": "listSoftwareCredits", "summary": "List readable staff and voice credits with exact name and context references", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "includeWithdrawn", "in": "query", "required": false, "schema": { "type": "string", "enum": ["true", "false"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdCredits", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "createSoftwareCredit", "summary": "Create an exact staff or voice credit", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "value": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } }, "required": ["value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSoftwareByIdCredits", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/credits/{creditId}": { "put": { "operationId": "reviseSoftwareCredit", "summary": "Revise a staff or voice credit against its exact revision", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "creditId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogSoftwareByIdCreditsByCreditId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/credits/{creditId}/history": { "get": { "operationId": "listSoftwareCreditHistory", "summary": "Read authorized staff and voice credit history", "tags": ["Catalog Software"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "creditId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "value": { "anyOf": [ { "type": "object", "properties": { "label": { "type": ["string", "null"], "minLength": 1 }, "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": ["label", "languageTag", "state"], "additionalProperties": false }, { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } ] } }, "required": ["id", "revision", "recordedAt", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSoftwareByIdCreditsByCreditIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/software/{id}/credits/{creditId}/restore": { "post": { "operationId": "restoreSoftwareCredit", "summary": "Restore an exact historical staff or voice credit", "tags": ["Catalog Software"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "creditId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historicalRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "historicalRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "context": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "characterId": { "type": ["string", "null"], "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)$" }, "roleRevisionId": { "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)$" }, "note": { "type": ["string", "null"] }, "state": { "type": "string", "enum": ["active", "withdrawn"] } }, "required": [ "entityId", "name", "context", "characterId", "roleRevisionId", "note", "state" ], "additionalProperties": false } }, "required": ["id", "revision", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSoftwareByIdCreditsByCreditIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/program/{id}/details": { "get": { "operationId": "readProgramDetails", "summary": "Read a program, season, version or episode", "tags": ["Catalog Program"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "canEdit": { "type": "boolean" }, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "structure": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "program" }, "fields": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "declaredMainEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "declaredTotalEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "typeRevisionId", "declaredMainEpisodeCount", "declaredTotalEpisodeCount" ], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "season" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "number": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": ["programId", "number"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "program_version" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "versionTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "programId", "versionTypeRevisionId", "lengthMilliseconds" ], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "episode" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "seasonId": { "default": null, "type": ["string", "null"], "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)$" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "sortNumber": { "default": null, "type": ["number", "null"] }, "episodeNumber": { "default": null, "type": ["number", "null"] }, "discNumber": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 2147483647 }, "durationText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": [ "programId", "seasonId", "typeRevisionId", "sortNumber", "episodeNumber", "discNumber", "durationText", "lengthMilliseconds", "date", "dateText" ], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": [ "canEdit", "id", "revision", "historyId", "componentSequence", "structure" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogProgramByIdDetails", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "reviseProgramDetails", "summary": "Revise exact native Program fields", "tags": ["Catalog Program"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHistoryId": { "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)$" }, "structure": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "program" }, "fields": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "declaredMainEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "declaredTotalEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "season" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "number": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "program_version" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "versionTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "episode" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "seasonId": { "default": null, "type": ["string", "null"], "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)$" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "sortNumber": { "default": null, "type": ["number", "null"] }, "episodeNumber": { "default": null, "type": ["number", "null"] }, "discNumber": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 2147483647 }, "durationText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": ["expectedRevision", "expectedHistoryId", "structure"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogProgramByIdDetails", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/program/{id}/occurrences": { "get": { "operationId": "listProgramOccurrences", "summary": "List ordered episode appearances", "tags": ["Catalog Program"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "name": { "type": ["object", "null"], "properties": { "value": { "type": "string" }, "languageTag": { "type": ["string", "null"] } }, "required": ["value", "languageTag"], "additionalProperties": false }, "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)$" }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "episodeId": { "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)$" }, "position": { "type": "string", "maxLength": 512 }, "sourceNumber": { "type": ["string", "null"], "maxLength": 4096 } }, "required": ["episodeId", "position", "sourceNumber"], "additionalProperties": false } }, "required": ["name", "id", "historyId", "componentSequence", "value"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogProgramByIdOccurrences", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/program/{id}/occurrences/{occurrenceId}": { "put": { "operationId": "putProgramOccurrence", "summary": "Add or revise one episode appearance", "tags": ["Catalog Program"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "occurrenceId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHistoryId": { "type": ["string", "null"], "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)$" }, "value": { "type": "object", "properties": { "episodeId": { "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)$" }, "position": { "type": "string", "maxLength": 512 }, "sourceNumber": { "type": ["string", "null"], "maxLength": 4096 } }, "required": ["episodeId", "position", "sourceNumber"], "additionalProperties": false } }, "required": ["expectedRevision", "expectedHistoryId", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogProgramByIdOccurrencesByOccurrenceId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removeProgramOccurrence", "summary": "Remove one episode appearance while retaining its history", "tags": ["Catalog Program"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "occurrenceId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHistoryId": { "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)$" } }, "required": ["expectedRevision", "expectedHistoryId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogProgramByIdOccurrencesByOccurrenceId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/program/{id}/history/{component}/{componentKey}": { "get": { "operationId": "listProgramComponentHistory", "summary": "Read authorized immutable Program component history", "tags": ["Catalog Program"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "component", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "program_work", "program_season", "program_version", "program_episode", "program_episode_occurrence" ] } }, { "name": "componentKey", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "component": { "type": "string", "enum": [ "program_work", "program_season", "program_version", "program_episode", "program_episode_occurrence" ] }, "componentKey": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "operation": { "type": "string", "enum": ["INSERT", "UPDATE", "DELETE"] }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "snapshot": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "structure" }, "value": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "program" }, "fields": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "declaredMainEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "declaredTotalEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "typeRevisionId", "declaredMainEpisodeCount", "declaredTotalEpisodeCount" ], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "season" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "number": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": ["programId", "number"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "program_version" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "versionTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "programId", "versionTypeRevisionId", "lengthMilliseconds" ], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "episode" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "seasonId": { "default": null, "type": ["string", "null"], "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)$" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "sortNumber": { "default": null, "type": ["number", "null"] }, "episodeNumber": { "default": null, "type": ["number", "null"] }, "discNumber": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 2147483647 }, "durationText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": [ "programId", "seasonId", "typeRevisionId", "sortNumber", "episodeNumber", "discNumber", "durationText", "lengthMilliseconds", "date", "dateText" ], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "occurrence" }, "value": { "type": "object", "properties": { "episodeId": { "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)$" }, "position": { "type": "string", "maxLength": 512 }, "sourceNumber": { "type": ["string", "null"], "maxLength": 4096 } }, "required": ["episodeId", "position", "sourceNumber"], "additionalProperties": false } }, "required": ["kind", "value"], "additionalProperties": false } ] } }, "required": [ "id", "component", "componentKey", "componentSequence", "operation", "recordedAt", "snapshot" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogProgramByIdHistoryByComponentByComponentKey", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/program/{id}/history/{component}/{componentKey}/restore": { "post": { "operationId": "restoreProgramComponent", "summary": "Restore a Program component against its exact current history", "tags": ["Catalog Program"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "component", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "program_work", "program_season", "program_version", "program_episode", "program_episode_occurrence" ] } }, { "name": "componentKey", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHistoryId": { "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)$" }, "historyId": { "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)$" } }, "required": ["expectedRevision", "expectedHistoryId", "historyId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogProgramByIdHistoryByComponentByComponentKeyRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/publishing/{id}/details": { "get": { "operationId": "readPublishingDetails", "summary": "Read a work, text version, publication or serialization", "tags": ["Catalog Publishing"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "canEdit": { "type": "boolean" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "structure": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "work" }, "fields": { "type": "object", "properties": {}, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "text_version" }, "fields": { "type": "object", "properties": { "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "methodRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["languageTag", "methodRevisionId"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "publication" }, "fields": { "type": "object", "properties": { "pageCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "paginationText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["pageCount", "paginationText"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "serialization" }, "fields": { "type": "object", "properties": { "textVersionId": { "default": null, "type": ["string", "null"], "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)$" }, "statusRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["textVersionId", "statusRevisionId"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": [ "id", "canEdit", "revision", "historyId", "componentSequence", "structure" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogPublishingByIdDetails", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "revisePublishingDetails", "summary": "Revise exact native Publishing fields", "tags": ["Catalog Publishing"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHistoryId": { "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)$" }, "structure": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "work" }, "fields": { "type": "object", "properties": {}, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "text_version" }, "fields": { "type": "object", "properties": { "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "methodRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "publication" }, "fields": { "type": "object", "properties": { "pageCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "paginationText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "serialization" }, "fields": { "type": "object", "properties": { "textVersionId": { "default": null, "type": ["string", "null"], "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)$" }, "statusRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": ["expectedRevision", "expectedHistoryId", "structure"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogPublishingByIdDetails", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/publishing/{id}/components/{kind}": { "get": { "operationId": "listPublishingComponents", "summary": "Read ordered coverage, publication events, facets or serial installments", "tags": ["Catalog Publishing"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "text_work", "publication_text", "publication_work", "facet", "event", "installment" ] } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "parentId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "value": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "text_work" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "targetId", "position", "coverageText"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication_text" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "targetId", "position", "coverageText"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication_work" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "targetId", "position", "coverageText"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "facet" }, "definitionRevisionId": { "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)$" } }, "required": ["kind", "definitionRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "event" }, "publisherEntityId": { "default": null, "type": ["string", "null"], "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)$" }, "publisherCredit": { "default": null, "type": ["string", "null"], "maxLength": 131072 }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": [ "kind", "publisherEntityId", "publisherCredit", "areaId", "date", "dateText" ], "additionalProperties": false }, { "type": "object", "properties": { "parentId": { "default": null, "type": ["string", "null"], "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)$" }, "position": { "type": "string" }, "label": { "default": null, "type": ["string", "null"], "maxLength": 131072 }, "kindRevisionId": { "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)$" }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "kind": { "type": "string", "const": "installment" } }, "required": [ "parentId", "position", "label", "kindRevisionId", "date", "dateText", "kind" ], "additionalProperties": false } ] }, "name": { "type": ["object", "null"], "properties": { "value": { "type": "string" }, "languageTag": { "type": ["string", "null"] } }, "required": ["value", "languageTag"], "additionalProperties": false } }, "required": ["id", "historyId", "componentSequence", "value", "name"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogPublishingByIdComponentsByKind", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/publishing/{id}/components/{kind}/{componentId}": { "put": { "operationId": "putPublishingComponent", "summary": "Add or revise one exact Publishing child", "tags": ["Catalog Publishing"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "text_work", "publication_text", "publication_work", "facet", "event", "installment" ] } }, { "name": "componentId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHistoryId": { "type": ["string", "null"], "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)$" }, "value": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "text_work" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "targetId", "position"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication_text" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "targetId", "position"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication_work" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "targetId", "position"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "facet" }, "definitionRevisionId": { "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)$" } }, "required": ["kind", "definitionRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "event" }, "publisherEntityId": { "default": null, "type": ["string", "null"], "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)$" }, "publisherCredit": { "default": null, "type": ["string", "null"], "maxLength": 131072 }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": ["kind"], "additionalProperties": false }, { "type": "object", "properties": { "parentId": { "default": null, "type": ["string", "null"], "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)$" }, "position": { "type": "string" }, "label": { "default": null, "type": ["string", "null"], "maxLength": 131072 }, "kindRevisionId": { "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)$" }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "kind": { "type": "string", "const": "installment" } }, "required": ["position", "kindRevisionId", "kind"], "additionalProperties": false } ] } }, "required": ["expectedRevision", "expectedHistoryId", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogPublishingByIdComponentsByKindByComponentId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removePublishingComponent", "summary": "Remove one Publishing child while retaining its history", "tags": ["Catalog Publishing"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "text_work", "publication_text", "publication_work", "facet", "event", "installment" ] } }, { "name": "componentId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHistoryId": { "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)$" } }, "required": ["expectedRevision", "expectedHistoryId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogPublishingByIdComponentsByKindByComponentId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/publishing/{id}/history/{component}/{componentKey}": { "get": { "operationId": "listPublishingComponentHistory", "summary": "Read authorized exact Publishing revision history", "tags": ["Catalog Publishing"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "component", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing_work", "publishing_text_version", "publishing_publication", "publishing_serialization", "publishing_text_work", "publishing_publication_text", "publishing_publication_work", "publishing_publication_facet", "publishing_release_event", "publishing_installment" ] } }, { "name": "componentKey", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "component": { "type": "string", "enum": [ "publishing_work", "publishing_text_version", "publishing_publication", "publishing_serialization", "publishing_text_work", "publishing_publication_text", "publishing_publication_work", "publishing_publication_facet", "publishing_release_event", "publishing_installment" ] }, "componentKey": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "operation": { "type": "string", "enum": ["INSERT", "UPDATE", "DELETE"] }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "snapshot": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "structure" }, "value": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "work" }, "fields": { "type": "object", "properties": {}, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "text_version" }, "fields": { "type": "object", "properties": { "languageTag": { "default": null, "type": ["string", "null"], "maxLength": 255 }, "methodRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["languageTag", "methodRevisionId"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "publication" }, "fields": { "type": "object", "properties": { "pageCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "paginationText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": ["pageCount", "paginationText"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "serialization" }, "fields": { "type": "object", "properties": { "textVersionId": { "default": null, "type": ["string", "null"], "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)$" }, "statusRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["textVersionId", "statusRevisionId"], "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": ["kind", "value"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "child" }, "value": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "text_work" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": [ "kind", "targetId", "position", "coverageText" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication_text" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": [ "kind", "targetId", "position", "coverageText" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication_work" }, "targetId": { "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)$" }, "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "default": null, "type": ["string", "null"], "maxLength": 131072 } }, "required": [ "kind", "targetId", "position", "coverageText" ], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "facet" }, "definitionRevisionId": { "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)$" } }, "required": ["kind", "definitionRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "event" }, "publisherEntityId": { "default": null, "type": ["string", "null"], "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)$" }, "publisherCredit": { "default": null, "type": ["string", "null"], "maxLength": 131072 }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "required": [ "kind", "publisherEntityId", "publisherCredit", "areaId", "date", "dateText" ], "additionalProperties": false }, { "type": "object", "properties": { "parentId": { "default": null, "type": ["string", "null"], "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)$" }, "position": { "type": "string" }, "label": { "default": null, "type": ["string", "null"], "maxLength": 131072 }, "kindRevisionId": { "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)$" }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "kind": { "type": "string", "const": "installment" } }, "required": [ "parentId", "position", "label", "kindRevisionId", "date", "dateText", "kind" ], "additionalProperties": false } ] } }, "required": ["kind", "value"], "additionalProperties": false } ] } }, "required": [ "id", "component", "componentKey", "componentSequence", "operation", "recordedAt", "snapshot" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogPublishingByIdHistoryByComponentByComponentKey", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/publishing/{id}/history/{component}/{componentKey}/restore": { "post": { "operationId": "restorePublishingComponent", "summary": "Restore Publishing state against its exact current child history", "tags": ["Catalog Publishing"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "component", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing_work", "publishing_text_version", "publishing_publication", "publishing_serialization", "publishing_text_work", "publishing_publication_text", "publishing_publication_work", "publishing_publication_facet", "publishing_release_event", "publishing_installment" ] } }, { "name": "componentKey", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHistoryId": { "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)$" }, "historyId": { "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)$" } }, "required": ["expectedRevision", "expectedHistoryId", "historyId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "historyId": { "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)$" }, "componentSequence": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["revision", "historyId", "componentSequence"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogPublishingByIdHistoryByComponentByComponentKeyRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/publishing/{id}/connections": { "get": { "operationId": "listPublishingConnections", "summary": "Browse readable works, text versions, publications and serializations", "tags": ["Catalog Publishing"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "kind", "in": "query", "required": true, "schema": { "type": "string", "enum": ["text_work", "publication_text", "publication_work", "serialization_text"] } }, { "name": "direction", "in": "query", "required": true, "schema": { "type": "string", "enum": ["outgoing", "incoming"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "name": { "type": ["object", "null"], "properties": { "value": { "type": "string" }, "languageTag": { "type": ["string", "null"] } }, "required": ["value", "languageTag"], "additionalProperties": false }, "position": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "coverageText": { "type": ["string", "null"] } }, "required": ["id", "name", "position", "coverageText"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogPublishingByIdConnections", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/content-language-support": { "get": { "operationId": "readCatalogContentLanguageSupport", "summary": "Read an explicit native consumption-language declaration", "tags": ["Catalog content languages"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "headVersion": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "canEdit": { "type": "boolean" }, "value": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } } }, "required": ["revision", "headVersion", "canEdit", "value"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdContent-language-support", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "replaceCatalogContentLanguageSupport", "summary": "Replace one native declaration with exact owner and field revisions", "tags": ["Catalog content languages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHeadVersion": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "value": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } } }, "required": ["expectedRevision", "expectedHeadVersion", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "headVersion": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "changed": { "type": "boolean" }, "value": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } } }, "required": ["revision", "headVersion", "changed", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogResourcesByOwnerByIdContent-language-support", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/content-language-support/evidence": { "get": { "operationId": "listCatalogContentLanguageEvidence", "summary": "Read existing direct native-link language evidence without inheritance", "tags": ["Catalog content languages"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "currentContentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } }, "items": { "maxItems": 2, "type": "array", "items": { "type": "object", "properties": { "source": { "type": "string", "const": "native_link" }, "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": ["publishing", "music", "program", "software"] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "name": { "type": ["object", "null"], "properties": { "value": { "type": "string", "maxLength": 500 }, "languageTag": { "type": ["string", "null"] } }, "required": ["value", "languageTag"], "additionalProperties": false }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } } }, "required": ["source", "reference", "name", "contentLanguageSupport"], "additionalProperties": false } }, "nextCursor": { "type": "null" } }, "required": ["currentContentLanguageSupport", "items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdContent-language-supportEvidence", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/content-language-support/history": { "get": { "operationId": "listCatalogContentLanguageHistory", "summary": "List native declaration decisions by field revision", "tags": ["Catalog content languages"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterVersion", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "version": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": ["version", "createdAt", "state"], "additionalProperties": false } }, "nextVersion": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": ["items", "nextVersion"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdContent-language-supportHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/content-language-support/history/{version}": { "get": { "operationId": "readCatalogContentLanguageHistory", "summary": "Read one exact historical native declaration", "tags": ["Catalog content languages"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "version", "in": "path", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "version": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "value": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } } }, "required": ["version", "value"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdContent-language-supportHistoryByVersion", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/content-language-support/restore": { "post": { "operationId": "restoreCatalogContentLanguageSupport", "summary": "Restore a native language declaration as a new decision", "tags": ["Catalog content languages"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHeadVersion": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "restoreHeadVersion": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "expectedHeadVersion", "restoreHeadVersion"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "headVersion": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "changed": { "type": "boolean" }, "value": { "maxItems": 64, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "channels": { "minItems": 1, "maxItems": 4, "type": "array", "items": { "type": "string", "enum": ["text", "audio", "subtitle", "interface"] } } }, "required": ["languageTag"], "additionalProperties": false } } }, "required": ["revision", "headVersion", "changed", "value"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdContent-language-supportRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/facts": { "get": { "operationId": "listCatalogFacts", "summary": "List current typed catalog attributes", "tags": ["Catalog semantics"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "definitionRevisionId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "includeInactive", "in": "query", "required": false, "schema": { "default": "false", "type": "string", "enum": ["true", "false"] } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "semanticId": { "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)$" }, "definitionRevisionId": { "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)$" }, "spoiler": { "type": "string", "enum": [0, 1, 2] }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "lastNodePosition": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": [ "id", "semanticId", "definitionRevisionId", "spoiler", "state", "headVersion", "lastNodePosition" ], "additionalProperties": false } }, "afterId": { "type": ["string", "null"], "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)$" } }, "required": ["items", "afterId"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdFacts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "writeCatalogFact", "summary": "Write or replace one typed catalog attribute", "tags": ["Catalog semantics"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "definitionRevisionId": { "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)$" }, "spoiler": { "type": "string", "enum": [0, 1, 2] }, "replaces": { "type": "object", "properties": { "semanticId": { "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)$" }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["semanticId", "headVersion"], "additionalProperties": false }, "nodes": { "minItems": 1, "maxItems": 512, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "parentPosition": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "parentKind": { "type": ["string", "null"], "enum": ["object", "array"] }, "memberKey": { "type": ["string", "null"] }, "kind": { "type": "string", "enum": ["null", "string", "number", "boolean", "object", "array"] }, "textValue": { "type": ["string", "null"] }, "numberValue": { "type": ["string", "null"], "maxLength": 4096, "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d{1,4})?$" }, "booleanValue": { "type": ["boolean", "null"] } }, "required": [ "position", "parentPosition", "parentKind", "memberKey", "kind", "textValue", "numberValue", "booleanValue" ], "additionalProperties": false } } }, "required": ["expectedRevision", "definitionRevisionId", "nodes"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "semanticId": { "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)$" }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" } }, "required": ["revision", "semanticId", "headVersion", "id"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdFacts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/facts/{factId}/nodes": { "get": { "operationId": "listCatalogFactNodes", "summary": "Read the exact typed value in bounded pages", "tags": ["Catalog semantics"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "factId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterPosition", "in": "query", "required": false, "schema": { "default": -1, "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 100, "type": "integer", "minimum": 1, "maximum": 128 } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } }, { "name": "relationId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "languageTag", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "parentPosition": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "parentKind": { "type": ["string", "null"], "enum": ["object", "array"] }, "memberKey": { "type": ["string", "null"] }, "kind": { "type": "string", "enum": ["null", "string", "number", "boolean", "object", "array"] }, "textValue": { "type": ["string", "null"] }, "numberValue": { "type": ["string", "null"], "maxLength": 4096, "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d{1,4})?$" }, "booleanValue": { "type": ["boolean", "null"] }, "rulePosition": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": [ "position", "parentPosition", "parentKind", "memberKey", "kind", "textValue", "numberValue", "booleanValue", "rulePosition" ], "additionalProperties": false } }, "afterPosition": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["items", "afterPosition"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdFactsByFactIdNodes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/relations": { "get": { "operationId": "listCatalogRelations", "summary": "List current catalog relations", "tags": ["Catalog semantics"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "definitionRevisionId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "includeInactive", "in": "query", "required": false, "schema": { "default": "false", "type": "string", "enum": ["true", "false"] } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "semanticId": { "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)$" }, "definitionRevisionId": { "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)$" }, "spoiler": { "type": "string", "enum": [0, 1, 2] }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": [ "id", "semanticId", "definitionRevisionId", "spoiler", "state", "headVersion" ], "additionalProperties": false } }, "afterId": { "type": ["string", "null"], "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)$" } }, "required": ["items", "afterId"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdRelations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "writeCatalogRelation", "summary": "Write or replace one catalog relation with its participants", "tags": ["Catalog semantics"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "definitionRevisionId": { "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)$" }, "spoiler": { "type": "string", "enum": [0, 1, 2] }, "replaces": { "type": "object", "properties": { "semanticId": { "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)$" }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["semanticId", "headVersion"], "additionalProperties": false }, "participants": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "creditedAs": { "type": "string", "maxLength": 131072 } }, "required": ["roleRevisionId", "target"], "additionalProperties": false } }, "qualifiers": { "default": [], "maxItems": 64, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "definitionRevisionId": { "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)$" }, "valueFactId": { "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)$" } }, "required": ["definitionRevisionId", "valueFactId"], "additionalProperties": false }, { "type": "object", "properties": { "definitionRevisionId": { "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)$" }, "nodes": { "minItems": 1, "maxItems": 512, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "parentPosition": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "parentKind": { "type": ["string", "null"], "enum": ["object", "array"] }, "memberKey": { "type": ["string", "null"] }, "kind": { "type": "string", "enum": [ "null", "string", "number", "boolean", "object", "array" ] }, "textValue": { "type": ["string", "null"] }, "numberValue": { "type": ["string", "null"], "maxLength": 4096, "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d{1,4})?$" }, "booleanValue": { "type": ["boolean", "null"] } }, "required": [ "position", "parentPosition", "parentKind", "memberKey", "kind", "textValue", "numberValue", "booleanValue" ], "additionalProperties": false } } }, "required": ["definitionRevisionId", "nodes"], "additionalProperties": false } ] } } }, "required": ["expectedRevision", "definitionRevisionId", "participants"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "semanticId": { "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)$" }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" } }, "required": ["revision", "semanticId", "headVersion", "id"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdRelations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/relations/{relationId}/participants": { "get": { "operationId": "listCatalogRelationParticipants", "summary": "Read relation participants and their roles", "tags": ["Catalog semantics"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "relationId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterPosition", "in": "query", "required": false, "schema": { "default": -1, "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 100, "type": "integer", "minimum": 1, "maximum": 128 } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } }, { "name": "relationId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "languageTag", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "roleRevisionId": { "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)$" }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "creditedAs": { "type": ["string", "null"] }, "targetPreview": { "type": ["object", "null"], "properties": { "shape": { "type": "string" }, "title": { "type": ["string", "null"] } }, "required": ["shape", "title"], "additionalProperties": false } }, "required": [ "position", "roleRevisionId", "target", "creditedAs", "targetPreview" ], "additionalProperties": false } }, "afterPosition": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": ["items", "afterPosition"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdRelationsByRelationIdParticipants", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/relations/{relationId}/qualifiers": { "get": { "operationId": "listCatalogRelationQualifiers", "summary": "Read qualifiers of an exact relation", "tags": ["Catalog semantics"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "relationId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 64 } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "definitionRevisionId": { "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)$" }, "valueFactId": { "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)$" }, "valueFactPurpose": { "type": "string", "enum": ["assertion", "qualifier"] } }, "required": [ "id", "definitionRevisionId", "valueFactId", "valueFactPurpose" ], "additionalProperties": false } }, "afterId": { "type": ["string", "null"], "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)$" } }, "required": ["items", "afterId"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdRelationsByRelationIdQualifiers", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/semantics/{semanticId}/history": { "get": { "operationId": "listCatalogSemanticHistory", "summary": "Read the immutable decisions for a catalog attribute or relation", "tags": ["Catalog semantics"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "semanticId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterVersion", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "factId": { "type": ["string", "null"], "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)$" }, "relationId": { "type": ["string", "null"], "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)$" }, "definitionRevisionId": { "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)$" }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "version", "factId", "relationId", "definitionRevisionId", "state", "createdAt" ], "additionalProperties": false } }, "afterVersion": { "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "afterVersion"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdSemanticsBySemanticIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/semantics/{semanticId}/state": { "post": { "operationId": "transitionCatalogSemanticState", "summary": "Dispute, withdraw or supersede a catalog decision", "tags": ["Catalog semantics"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "semanticId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["disputed", "withdrawn", "superseded"] } }, "required": ["expectedRevision", "expectedHeadVersion", "state"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "semanticId": { "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)$" }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "semanticId", "headVersion"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdSemanticsBySemanticIdState", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/semantics/{semanticId}/restore": { "post": { "operationId": "restoreCatalogSemanticRevision", "summary": "Restore an eligible historical value as a new decision", "tags": ["Catalog semantics"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "semanticId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedHeadVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "restoreVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "expectedHeadVersion", "restoreVersion"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "semanticId": { "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)$" }, "headVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "semanticId", "headVersion"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdSemanticsBySemanticIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/intake": { "post": { "operationId": "intakeCatalogSource", "summary": "Import a source record as a private native draft or propose its update", "tags": ["Catalog sources"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "refresh", "in": "query", "required": false, "schema": { "type": "string", "enum": ["true", "false"] } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "$ref": "#/components/schemas/VndbSourceIntake" }, { "$ref": "#/components/schemas/MusicBrainzSourceIntake" }, { "$ref": "#/components/schemas/BangumiSourceIntake" }, { "$ref": "#/components/schemas/OpenLibrarySourceIntake" } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "anyOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": ["created", "unchanged", "paused", "review_required"] }, "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "sourceRecordId": { "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)$" }, "snapshotId": { "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)$" }, "mappingKey": { "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)$" } }, "required": [ "status", "reference", "revision", "sourceRecordId", "snapshotId", "mappingKey" ], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "const": "queued" }, "job": { "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)$" }, "sourceRecordId": { "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)$" }, "proposalId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "enum": ["initialize", "apply", "withdraw"] }, "reference": { "type": ["object", "null"], "properties": { "owner": { "type": "string", "const": "music" }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "generation": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": [ "queued", "prepared", "paused", "succeeded", "superseded", "blocked", "failed" ] }, "prepared": { "type": "boolean" }, "preparedDependencies": { "type": "integer", "minimum": 0, "maximum": 32768 }, "outcomeCode": { "type": ["string", "null"] } }, "required": [ "id", "sourceRecordId", "proposalId", "action", "reference", "generation", "state", "prepared", "preparedDependencies", "outcomeCode" ], "additionalProperties": false } }, "required": ["status", "job"], "additionalProperties": false } ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSourcesIntake", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/{sourceRecordId}/jobs/{jobId}": { "get": { "operationId": "getCatalogSourceJob", "summary": "Read a source import or update job", "tags": ["Catalog sources"], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "sourceRecordId": { "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)$" }, "proposalId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "enum": ["initialize", "apply", "withdraw"] }, "reference": { "type": ["object", "null"], "properties": { "owner": { "type": "string", "const": "music" }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "generation": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": [ "queued", "prepared", "paused", "succeeded", "superseded", "blocked", "failed" ] }, "prepared": { "type": "boolean" }, "preparedDependencies": { "type": "integer", "minimum": 0, "maximum": 32768 }, "outcomeCode": { "type": ["string", "null"] } }, "required": [ "id", "sourceRecordId", "proposalId", "action", "reference", "generation", "state", "prepared", "preparedDependencies", "outcomeCode" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSourcesBySourceRecordIdJobsByJobId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "operationId": "controlCatalogSourceJob", "summary": "Pause or resume a source import or update job", "tags": ["Catalog sources"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "jobId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "action": { "type": "string", "enum": ["pause", "resume"] } }, "required": ["action"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "sourceRecordId": { "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)$" }, "proposalId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "enum": ["initialize", "apply", "withdraw"] }, "reference": { "type": ["object", "null"], "properties": { "owner": { "type": "string", "const": "music" }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "generation": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": [ "queued", "prepared", "paused", "succeeded", "superseded", "blocked", "failed" ] }, "prepared": { "type": "boolean" }, "preparedDependencies": { "type": "integer", "minimum": 0, "maximum": 32768 }, "outcomeCode": { "type": ["string", "null"] } }, "required": [ "id", "sourceRecordId", "proposalId", "action", "reference", "generation", "state", "prepared", "preparedDependencies", "outcomeCode" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiCatalogSourcesBySourceRecordIdJobsByJobId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/{sourceRecordId}/bindings/{mappingKey}/proposals": { "get": { "operationId": "listCatalogSourceProposals", "summary": "Review updates for one exact source binding", "tags": ["Catalog sources"], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mappingKey", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "sourceRecordId": { "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)$" }, "snapshotId": { "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)$" }, "mappingKey": { "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)$" }, "mappingVersion": { "type": "string" }, "expectedTargetRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedBindingRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedPolicyRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["pending", "applied", "rejected", "superseded", "withdrawn"] }, "decisionReason": { "type": ["string", "null"] }, "appliedTargetRevision": { "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "decidedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "sourceRecordId", "snapshotId", "mappingKey", "mappingVersion", "expectedTargetRevision", "expectedBindingRevision", "expectedPolicyRevision", "state", "decisionReason", "appliedTargetRevision", "createdAt", "decidedAt" ], "additionalProperties": false } }, "afterId": { "type": ["string", "null"], "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)$" } }, "required": ["items", "afterId"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSourcesBySourceRecordIdBindingsByMappingKeyProposals", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "proposeCatalogSourceAdoption", "summary": "Propose the current observation for a bound native record", "tags": ["Catalog sources"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mappingKey", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "snapshotId": { "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)$" }, "mappingVersion": { "type": "string", "minLength": 1, "maxLength": 128 } }, "required": ["snapshotId", "mappingVersion"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "status": { "type": "string", "enum": ["paused", "unchanged", "proposed"] }, "proposal": { "type": ["object", "null"], "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)$" }, "sourceRecordId": { "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)$" }, "snapshotId": { "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)$" }, "mappingKey": { "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)$" }, "mappingVersion": { "type": "string" }, "expectedTargetRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedBindingRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedPolicyRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["pending", "applied", "rejected", "superseded", "withdrawn"] }, "decisionReason": { "type": ["string", "null"] }, "appliedTargetRevision": { "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "decidedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "sourceRecordId", "snapshotId", "mappingKey", "mappingVersion", "expectedTargetRevision", "expectedBindingRevision", "expectedPolicyRevision", "state", "decisionReason", "appliedTargetRevision", "createdAt", "decidedAt" ], "additionalProperties": false } }, "required": ["status", "proposal"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSourcesBySourceRecordIdBindingsByMappingKeyProposals", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/{sourceRecordId}/bindings/{mappingKey}": { "patch": { "operationId": "reviseCatalogSourceBinding", "summary": "Pause, resume or explicitly rebind one source correspondence", "tags": ["Catalog sources"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "mappingKey", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["active", "paused", "withdrawn"] }, "mode": { "type": "string", "enum": ["review", "manual"] }, "reason": { "type": "string", "minLength": 1, "maxLength": 2048 }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "mappingVersion": { "type": "string", "minLength": 1, "maxLength": 128 } }, "required": ["expectedRevision", "state", "mode", "reason"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "policyRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "state": { "type": "string", "enum": ["active", "paused", "withdrawn"] } }, "required": ["revision", "policyRevision", "reference", "state"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiCatalogSourcesBySourceRecordIdBindingsByMappingKey", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/{sourceRecordId}/proposals/{proposalId}/preview": { "get": { "operationId": "getCatalogSourceProposalPreview", "summary": "Inspect exact source changes before a reviewed decision", "tags": ["Catalog sources"], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "proposalId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "action", "in": "query", "required": false, "schema": { "default": "apply", "type": "string", "enum": ["apply", "withdraw"] } }, { "name": "profileKey", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" } }, { "name": "afterPosition", "in": "query", "required": false, "schema": { "default": -1, "type": "integer", "minimum": -1, "maximum": 1000000 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "proposal": { "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)$" }, "sourceRecordId": { "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)$" }, "snapshotId": { "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)$" }, "mappingKey": { "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)$" }, "mappingVersion": { "type": "string" }, "expectedTargetRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedBindingRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "expectedPolicyRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["pending", "applied", "rejected", "superseded", "withdrawn"] }, "decisionReason": { "type": ["string", "null"] }, "appliedTargetRevision": { "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "decidedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "sourceRecordId", "snapshotId", "mappingKey", "mappingVersion", "expectedTargetRevision", "expectedBindingRevision", "expectedPolicyRevision", "state", "decisionReason", "appliedTargetRevision", "createdAt", "decidedAt" ], "additionalProperties": false }, "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "beforeSnapshotId": { "type": ["string", "null"], "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)$" }, "afterSnapshotId": { "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)$" }, "beforeSha256": { "type": ["string", "null"] }, "afterSha256": { "type": ["string", "null"] }, "beforeArchiveSha256": { "type": ["string", "null"] }, "afterArchiveSha256": { "type": "string" }, "profileKey": { "type": ["string", "null"], "pattern": "^[a-z][a-z0-9_]{0,63}$" }, "profiles": { "type": "object", "properties": { "before": { "maxItems": 4, "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" }, "profile": { "type": "string", "maxLength": 128 }, "kind": { "type": "string", "enum": ["upstream_response", "derived_view"] }, "contentSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "byteLength": { "type": "integer", "exclusiveMinimum": 0, "maximum": 8000000 }, "requestUrl": { "type": ["string", "null"], "maxLength": 2048, "format": "uri" }, "observedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "derivedFrom": { "maxItems": 3, "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" }, "contentSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }, "required": ["key", "contentSha256"], "additionalProperties": false } } }, "required": [ "key", "profile", "kind", "contentSha256", "byteLength", "requestUrl", "observedAt", "derivedFrom" ], "additionalProperties": false } }, "after": { "maxItems": 4, "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" }, "profile": { "type": "string", "maxLength": 128 }, "kind": { "type": "string", "enum": ["upstream_response", "derived_view"] }, "contentSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "byteLength": { "type": "integer", "exclusiveMinimum": 0, "maximum": 8000000 }, "requestUrl": { "type": ["string", "null"], "maxLength": 2048, "format": "uri" }, "observedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "derivedFrom": { "maxItems": 3, "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" }, "contentSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }, "required": ["key", "contentSha256"], "additionalProperties": false } } }, "required": [ "key", "profile", "kind", "contentSha256", "byteLength", "requestUrl", "observedAt", "derivedFrom" ], "additionalProperties": false } } }, "required": ["before", "after"], "additionalProperties": false }, "changes": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "path": { "type": "string", "maxLength": 4096 }, "before": { "type": ["object", "null"], "properties": { "kind": { "type": "string", "enum": ["null", "string", "number", "boolean", "object", "array"] }, "text": { "type": "string", "maxLength": 2048 }, "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "complete": { "type": "boolean" } }, "required": ["kind", "text", "sha256", "complete"], "additionalProperties": false }, "after": { "type": ["object", "null"], "properties": { "kind": { "type": "string", "enum": ["null", "string", "number", "boolean", "object", "array"] }, "text": { "type": "string", "maxLength": 2048 }, "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "complete": { "type": "boolean" } }, "required": ["kind", "text", "sha256", "complete"], "additionalProperties": false } }, "required": ["position", "path", "before", "after"], "additionalProperties": false } }, "afterPosition": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "proposal", "reference", "beforeSnapshotId", "afterSnapshotId", "beforeSha256", "afterSha256", "beforeArchiveSha256", "afterArchiveSha256", "profileKey", "profiles", "changes", "afterPosition" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSourcesBySourceRecordIdProposalsByProposalIdPreview", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/{sourceRecordId}/proposals/{proposalId}/preview/value": { "get": { "operationId": "getCatalogSourceProposalPreviewValue", "summary": "Expand a source value while preserving its exact snapshot", "tags": ["Catalog sources"], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "proposalId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "action", "in": "query", "required": false, "schema": { "default": "apply", "type": "string", "enum": ["apply", "withdraw"] } }, { "name": "side", "in": "query", "required": true, "schema": { "type": "string", "enum": ["before", "after"] } }, { "name": "profileKey", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,63}$" } }, { "name": "path", "in": "query", "required": true, "schema": { "type": "string", "maxLength": 4096 } }, { "name": "offset", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 8000000 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 8192, "type": "integer", "minimum": 1, "maximum": 16384 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "kind": { "type": "string", "enum": ["null", "string", "number", "boolean", "object", "array"] }, "text": { "type": "string", "maxLength": 16384 }, "sha256": { "type": "string" }, "afterOffset": { "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "required": ["kind", "text", "sha256", "afterOffset"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogSourcesBySourceRecordIdProposalsByProposalIdPreviewValue", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/sources/{sourceRecordId}/proposals/{proposalId}/decision": { "post": { "operationId": "decideCatalogSourceProposal", "summary": "Apply, reject or withdraw an exact source proposal", "tags": ["Catalog sources"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "sourceRecordId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "proposalId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "mappingVersion": { "type": "string", "minLength": 1, "maxLength": 128 }, "action": { "type": "string", "enum": ["apply", "reject", "supersede", "withdraw"] }, "reason": { "type": "string", "minLength": 1, "maxLength": 2048 } }, "required": ["mappingVersion", "action", "reason"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "anyOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": ["repeated", "applied", "rejected", "superseded", "withdrawn"] } }, "required": ["status"], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "const": "queued" }, "job": { "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)$" }, "sourceRecordId": { "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)$" }, "proposalId": { "type": ["string", "null"], "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)$" }, "action": { "type": "string", "enum": ["initialize", "apply", "withdraw"] }, "reference": { "type": ["object", "null"], "properties": { "owner": { "type": "string", "const": "music" }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "generation": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": [ "queued", "prepared", "paused", "succeeded", "superseded", "blocked", "failed" ] }, "prepared": { "type": "boolean" }, "preparedDependencies": { "type": "integer", "minimum": 0, "maximum": 32768 }, "outcomeCode": { "type": ["string", "null"] } }, "required": [ "id", "sourceRecordId", "proposalId", "action", "reference", "generation", "state", "prepared", "preparedDependencies", "outcomeCode" ], "additionalProperties": false } }, "required": ["status", "job"], "additionalProperties": false } ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogSourcesBySourceRecordIdProposalsByProposalIdDecision", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/definitions/permissions": { "get": { "operationId": "getCatalogDefinitionPermissions", "summary": "Read current definition management access", "tags": ["Catalog definitions"], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "canManage": { "type": "boolean" } }, "required": ["canManage"], "additionalProperties": false } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogDefinitionsPermissions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/definitions/revision-labels": { "get": { "operationId": "listCatalogDefinitionRevisionLabels", "summary": "Read names for an exact page of immutable definition dependencies", "tags": ["Catalog definitions"], "parameters": [ { "name": "ids", "in": "query", "required": true, "schema": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "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)$" } } }, { "name": "languageTag", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 32, "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)$" }, "definitionId": { "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)$" }, "kind": { "type": "string", "enum": ["class", "property", "predicate", "role", "vocabulary"] }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "label": { "type": ["object", "null"], "properties": { "languageTag": { "type": "string" }, "label": { "type": "string" } }, "required": ["languageTag", "label"], "additionalProperties": false } }, "required": ["id", "definitionId", "kind", "version", "label"], "additionalProperties": false } } }, "required": ["items"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogDefinitionsRevision-labels", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/definitions": { "get": { "operationId": "listCatalogDefinitions", "summary": "Choose governed property, relation and vocabulary meanings", "tags": ["Catalog definitions"], "parameters": [ { "name": "kind", "in": "query", "required": false, "schema": { "type": "string", "enum": ["class", "property", "predicate", "role", "vocabulary"] } }, { "name": "namespace", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, { "name": "afterNamespace", "in": "query", "required": false, "schema": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, { "name": "afterKey", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 160 } }, { "name": "languageTag", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "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)$" }, "namespace": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" }, "key": { "type": "string", "minLength": 1, "maxLength": 160 }, "kind": { "type": "string", "enum": ["class", "property", "predicate", "role", "vocabulary"] }, "current": { "type": ["object", "null"], "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)$" }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "label": { "type": ["object", "null"], "properties": { "languageTag": { "type": "string" }, "label": { "type": "string" } }, "required": ["languageTag", "label"], "additionalProperties": false } }, "required": ["id", "version", "valueKind", "label"], "additionalProperties": false } }, "required": ["id", "namespace", "key", "kind", "current"], "additionalProperties": false } }, "after": { "type": ["object", "null"], "properties": { "afterNamespace": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" }, "afterKey": { "type": "string", "minLength": 1, "maxLength": 160 } }, "required": ["afterNamespace", "afterKey"], "additionalProperties": false } }, "required": ["items", "after"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogDefinitions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "createCatalogDefinition", "summary": "Create a governed meaning with its localized names", "tags": ["Catalog definitions"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "namespace": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" }, "key": { "type": "string", "minLength": 1, "maxLength": 160 }, "kind": { "type": "string", "enum": ["class", "property", "predicate", "role", "vocabulary"] }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "constraints": { "type": "object", "properties": { "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" }, "targets": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } }, "slots": { "maxItems": 32, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, "roles": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "min": { "type": "integer", "minimum": 0, "maximum": 128 }, "max": { "type": "integer", "minimum": 1, "maximum": 128 }, "targets": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } } }, "required": ["roleRevisionId", "min", "max", "targets"], "additionalProperties": false } }, "qualifierRevisionIds": { "maxItems": 64, "type": "array", "items": { "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)$" } }, "memberRevisionIds": { "maxItems": 512, "type": "array", "items": { "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)$" } }, "rules": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 127 }, "parent": { "type": ["integer", "null"], "minimum": 0, "maximum": 127 }, "memberKey": { "type": ["string", "null"], "maxLength": 256 }, "kind": { "type": "string", "enum": ["string", "number", "boolean", "null", "object", "array"] }, "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" } }, "required": ["position", "parent", "memberKey", "kind"], "additionalProperties": false } } }, "additionalProperties": false }, "labels": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "label": { "type": "string", "minLength": 1 }, "description": { "default": null, "type": ["string", "null"], "minLength": 1 } }, "required": ["languageTag", "label"], "additionalProperties": false } }, "reason": { "type": "string", "minLength": 1 } }, "required": [ "namespace", "key", "kind", "valueKind", "constraints", "labels", "reason" ], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "definitionId": { "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)$" }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "constraints": { "type": "object", "properties": { "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" }, "targets": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } }, "slots": { "maxItems": 32, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, "roles": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "min": { "type": "integer", "minimum": 0, "maximum": 128 }, "max": { "type": "integer", "minimum": 1, "maximum": 128 }, "targets": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } } }, "required": ["roleRevisionId", "min", "max", "targets"], "additionalProperties": false } }, "qualifierRevisionIds": { "maxItems": 64, "type": "array", "items": { "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)$" } }, "memberRevisionIds": { "maxItems": 512, "type": "array", "items": { "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)$" } }, "rules": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 127 }, "parent": { "type": ["integer", "null"], "minimum": 0, "maximum": 127 }, "memberKey": { "type": ["string", "null"], "maxLength": 256 }, "kind": { "type": "string", "enum": ["string", "number", "boolean", "null", "object", "array"] }, "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" } }, "required": [ "position", "parent", "memberKey", "kind", "nullable", "integer" ], "additionalProperties": false } } }, "required": ["nullable", "integer"], "additionalProperties": false }, "labels": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "label": { "type": "string", "minLength": 1 }, "description": { "default": null, "type": ["string", "null"], "minLength": 1 } }, "required": ["languageTag", "label", "description"], "additionalProperties": false } }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "reviewed": { "type": "boolean" } }, "required": [ "id", "definitionId", "version", "valueKind", "constraints", "labels", "createdAt", "reviewed" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogDefinitions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/definitions/revisions/{id}": { "get": { "operationId": "getCatalogDefinitionRevision", "summary": "Read an exact immutable definition revision", "tags": ["Catalog definitions"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "definitionId": { "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)$" }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "constraints": { "type": "object", "properties": { "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" }, "targets": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } }, "slots": { "maxItems": 32, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, "roles": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "min": { "type": "integer", "minimum": 0, "maximum": 128 }, "max": { "type": "integer", "minimum": 1, "maximum": 128 }, "targets": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } } }, "required": ["roleRevisionId", "min", "max", "targets"], "additionalProperties": false } }, "qualifierRevisionIds": { "maxItems": 64, "type": "array", "items": { "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)$" } }, "memberRevisionIds": { "maxItems": 512, "type": "array", "items": { "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)$" } }, "rules": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 127 }, "parent": { "type": ["integer", "null"], "minimum": 0, "maximum": 127 }, "memberKey": { "type": ["string", "null"], "maxLength": 256 }, "kind": { "type": "string", "enum": ["string", "number", "boolean", "null", "object", "array"] }, "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" } }, "required": [ "position", "parent", "memberKey", "kind", "nullable", "integer" ], "additionalProperties": false } } }, "required": ["nullable", "integer"], "additionalProperties": false }, "labels": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "label": { "type": "string", "minLength": 1 }, "description": { "default": null, "type": ["string", "null"], "minLength": 1 } }, "required": ["languageTag", "label", "description"], "additionalProperties": false } }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "reviewed": { "type": "boolean" } }, "required": [ "id", "definitionId", "version", "valueKind", "constraints", "labels", "createdAt", "reviewed" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogDefinitionsRevisionsById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/definitions/{id}": { "get": { "operationId": "getCatalogDefinition", "summary": "Read a definition and its current reviewed meaning", "tags": ["Catalog definitions"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "namespace": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" }, "key": { "type": "string", "minLength": 1, "maxLength": 160 }, "kind": { "type": "string", "enum": ["class", "property", "predicate", "role", "vocabulary"] }, "current": { "type": ["object", "null"], "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)$" }, "definitionId": { "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)$" }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "constraints": { "type": "object", "properties": { "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" }, "targets": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } }, "slots": { "maxItems": 32, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, "roles": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "min": { "type": "integer", "minimum": 0, "maximum": 128 }, "max": { "type": "integer", "minimum": 1, "maximum": 128 }, "targets": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } } }, "required": ["roleRevisionId", "min", "max", "targets"], "additionalProperties": false } }, "qualifierRevisionIds": { "maxItems": 64, "type": "array", "items": { "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)$" } }, "memberRevisionIds": { "maxItems": 512, "type": "array", "items": { "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)$" } }, "rules": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 127 }, "parent": { "type": ["integer", "null"], "minimum": 0, "maximum": 127 }, "memberKey": { "type": ["string", "null"], "maxLength": 256 }, "kind": { "type": "string", "enum": [ "string", "number", "boolean", "null", "object", "array" ] }, "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" } }, "required": [ "position", "parent", "memberKey", "kind", "nullable", "integer" ], "additionalProperties": false } } }, "required": ["nullable", "integer"], "additionalProperties": false }, "labels": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "label": { "type": "string", "minLength": 1 }, "description": { "default": null, "type": ["string", "null"], "minLength": 1 } }, "required": ["languageTag", "label", "description"], "additionalProperties": false } }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "reviewed": { "type": "boolean" } }, "required": [ "id", "definitionId", "version", "valueKind", "constraints", "labels", "createdAt", "reviewed" ], "additionalProperties": false } }, "required": ["id", "namespace", "key", "kind", "current"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogDefinitionsById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/definitions/{id}/revisions": { "get": { "operationId": "listCatalogDefinitionRevisions", "summary": "Read a definition's immutable history", "tags": ["Catalog definitions"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterVersion", "in": "query", "required": false, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, { "name": "languageTag", "in": "query", "required": false, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 50 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 50, "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)$" }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "label": { "type": ["object", "null"], "properties": { "languageTag": { "type": "string" }, "label": { "type": "string" } }, "required": ["languageTag", "label"], "additionalProperties": false } }, "required": ["id", "version", "valueKind", "label"], "additionalProperties": false } }, "afterVersion": { "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 } }, "required": ["items", "afterVersion"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogDefinitionsByIdRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "reviseCatalogDefinition", "summary": "Append a reviewed meaning without changing existing facts", "tags": ["Catalog definitions"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedVersion": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "constraints": { "type": "object", "properties": { "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" }, "targets": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } }, "slots": { "maxItems": 32, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, "roles": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "min": { "type": "integer", "minimum": 0, "maximum": 128 }, "max": { "type": "integer", "minimum": 1, "maximum": 128 }, "targets": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } } }, "required": ["roleRevisionId", "min", "max", "targets"], "additionalProperties": false } }, "qualifierRevisionIds": { "maxItems": 64, "type": "array", "items": { "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)$" } }, "memberRevisionIds": { "maxItems": 512, "type": "array", "items": { "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)$" } }, "rules": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 127 }, "parent": { "type": ["integer", "null"], "minimum": 0, "maximum": 127 }, "memberKey": { "type": ["string", "null"], "maxLength": 256 }, "kind": { "type": "string", "enum": ["string", "number", "boolean", "null", "object", "array"] }, "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" } }, "required": ["position", "parent", "memberKey", "kind"], "additionalProperties": false } } }, "additionalProperties": false }, "labels": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "label": { "type": "string", "minLength": 1 }, "description": { "default": null, "type": ["string", "null"], "minLength": 1 } }, "required": ["languageTag", "label"], "additionalProperties": false } }, "reason": { "type": "string", "minLength": 1 } }, "required": ["expectedVersion", "valueKind", "constraints", "labels", "reason"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "definitionId": { "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)$" }, "version": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "valueKind": { "type": ["string", "null"], "enum": ["null", "string", "number", "boolean", "object", "array"] }, "constraints": { "type": "object", "properties": { "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" }, "targets": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } }, "slots": { "maxItems": 32, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } }, "roles": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "roleRevisionId": { "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)$" }, "min": { "type": "integer", "minimum": 0, "maximum": 128 }, "max": { "type": "integer", "minimum": 1, "maximum": 128 }, "targets": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "shapes": { "minItems": 1, "maxItems": 64, "type": "array", "items": { "type": "string", "pattern": "^[a-z][a-z0-9_.-]{0,95}$" } } }, "required": ["owner", "shapes"], "additionalProperties": false } } }, "required": ["roleRevisionId", "min", "max", "targets"], "additionalProperties": false } }, "qualifierRevisionIds": { "maxItems": 64, "type": "array", "items": { "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)$" } }, "memberRevisionIds": { "maxItems": 512, "type": "array", "items": { "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)$" } }, "rules": { "minItems": 1, "maxItems": 128, "type": "array", "items": { "type": "object", "properties": { "position": { "type": "integer", "minimum": 0, "maximum": 127 }, "parent": { "type": ["integer", "null"], "minimum": 0, "maximum": 127 }, "memberKey": { "type": ["string", "null"], "maxLength": 256 }, "kind": { "type": "string", "enum": ["string", "number", "boolean", "null", "object", "array"] }, "nullable": { "default": false, "type": "boolean" }, "minLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "maxLength": { "type": "integer", "minimum": 0, "maximum": 131072 }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "integer": { "default": false, "type": "boolean" }, "allowedValues": { "maxItems": 512, "type": "array", "items": { "anyOf": [ { "type": "string", "maxLength": 4096 }, { "type": "number" }, { "type": "boolean" } ] } }, "unit": { "type": "string", "minLength": 1, "maxLength": 96 }, "vocabularyRevisionId": { "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)$" } }, "required": [ "position", "parent", "memberKey", "kind", "nullable", "integer" ], "additionalProperties": false } } }, "required": ["nullable", "integer"], "additionalProperties": false }, "labels": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "languageTag": { "type": "string", "minLength": 1, "maxLength": 255 }, "label": { "type": "string", "minLength": 1 }, "description": { "default": null, "type": ["string", "null"], "minLength": 1 } }, "required": ["languageTag", "label", "description"], "additionalProperties": false } }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "reviewed": { "type": "boolean" } }, "required": [ "id", "definitionId", "version", "valueKind", "constraints", "labels", "createdAt", "reviewed" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogDefinitionsByIdRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/entity/{id}/measurements/context": { "get": { "operationId": "readEntityMeasurementContext", "summary": "Read character measurements in an exact content context", "tags": ["Catalog"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "contextOwner", "in": "query", "required": true, "schema": { "type": "string", "enum": ["publishing", "music", "program", "software"] } }, { "name": "contextId", "in": "query", "required": true, "schema": { "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)$" } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "canEdit": { "type": "boolean" }, "headVersion": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "measurement": { "type": ["object", "null"], "properties": { "relationId": { "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)$" }, "semanticId": { "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)$" }, "headVersion": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "context": { "type": "object", "properties": { "owner": { "type": "string", "enum": ["publishing", "music", "program", "software"] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "spoiler": { "type": "integer", "minimum": 0, "maximum": 2 }, "values": { "type": "object", "properties": { "heightMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "weightGrams": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "bustMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "waistMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "hipsMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": [ "heightMillimetres", "weightGrams", "bustMillimetres", "waistMillimetres", "hipsMillimetres" ], "additionalProperties": false } }, "required": [ "relationId", "semanticId", "headVersion", "context", "spoiler", "values" ], "additionalProperties": false } }, "required": ["revision", "canEdit", "headVersion", "measurement"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogEntityByIdMeasurementsContext", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "writeEntityMeasurementContext", "summary": "Record or replace character measurements in an exact content context", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedHeadVersion": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "context": { "type": "object", "properties": { "owner": { "type": "string", "enum": ["publishing", "music", "program", "software"] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "spoiler": { "type": "string", "enum": [0, 1, 2] }, "values": { "type": "object", "properties": { "heightMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "weightGrams": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "bustMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "waistMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "hipsMillimetres": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 } }, "required": [ "heightMillimetres", "weightGrams", "bustMillimetres", "waistMillimetres", "hipsMillimetres" ], "additionalProperties": false } }, "required": ["expectedRevision", "expectedHeadVersion", "context", "values"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "semanticId": { "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)$" }, "headVersion": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision", "semanticId", "headVersion"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogEntityByIdMeasurementsContext", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/classes": { "get": { "operationId": "listGroupingClasses", "summary": "Read grouping classifications", "tags": ["Catalog Grouping"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "classRevisionId": { "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)$" } }, "required": ["classRevisionId"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogGroupingByIdClasses", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/classes/{classRevisionId}": { "put": { "operationId": "assignGroupingClass", "summary": "Assign a governed grouping classification", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "classRevisionId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogGroupingByIdClassesByClassRevisionId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removeGroupingClass", "summary": "Remove a classification without changing memberships", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "classRevisionId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogGroupingByIdClassesByClassRevisionId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/orders": { "get": { "operationId": "listGroupingOrderProfiles", "summary": "Read independently named membership orders", "tags": ["Catalog Grouping"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "key": { "type": "string", "minLength": 1, "maxLength": 160 } }, "required": ["id", "key"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogGroupingByIdOrders", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "createGroupingOrderProfile", "summary": "Create an independent membership order", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "key": { "type": "string", "minLength": 1, "maxLength": 160 } }, "required": ["expectedRevision", "key"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" } }, "required": ["revision", "id"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogGroupingByIdOrders", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/orders/{profileId}": { "put": { "operationId": "renameGroupingOrderProfile", "summary": "Rename an existing membership order", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "profileId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "key": { "type": "string", "minLength": 1, "maxLength": 160 } }, "required": ["expectedRevision", "key"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogGroupingByIdOrdersByProfileId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/orders/{profileId}/entries": { "get": { "operationId": "listGroupingOrderEntries", "summary": "Page current readable relations in one named order", "tags": ["Catalog Grouping"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "profileId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "relationId": { "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)$" }, "position": { "type": "string", "maxLength": 1024 }, "sourcePosition": { "type": ["string", "null"] } }, "required": ["relationId", "position", "sourcePosition"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogGroupingByIdOrdersByProfileIdEntries", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/orders/{profileId}/entries/{relationId}": { "put": { "operationId": "putGroupingOrderEntry", "summary": "Position one exact active relation in a membership order", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "profileId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "relationId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "position": { "type": "string", "maxLength": 512 }, "sourcePosition": { "type": "string", "maxLength": 4096 } }, "required": ["expectedRevision", "position"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogGroupingByIdOrdersByProfileIdEntriesByRelationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removeGroupingOrderEntry", "summary": "Remove an order entry while retaining its underlying relation", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "profileId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "relationId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogGroupingByIdOrdersByProfileIdEntriesByRelationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/history": { "get": { "operationId": "listGroupingHistory", "summary": "Read authorized classification and order command history", "tags": ["Catalog Grouping"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "snapshot": { "oneOf": [ { "type": "object", "properties": { "operation": { "type": "string", "const": "class.assign" }, "classRevisionId": { "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)$" } }, "required": ["operation", "classRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "class.remove" }, "classRevisionId": { "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)$" } }, "required": ["operation", "classRevisionId"], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "order.create" }, "profileId": { "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)$" }, "key": { "type": "string", "minLength": 1 } }, "required": ["operation", "profileId", "key"], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "order.rename" }, "profileId": { "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)$" }, "key": { "type": "string", "minLength": 1 } }, "required": ["operation", "profileId", "key"], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "order.set" }, "profileId": { "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)$" }, "relationId": { "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)$" }, "position": { "type": "string" }, "sourcePosition": { "type": "string" } }, "required": ["operation", "profileId", "relationId", "position"], "additionalProperties": false }, { "type": "object", "properties": { "operation": { "type": "string", "const": "order.remove" }, "profileId": { "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)$" }, "relationId": { "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)$" } }, "required": ["operation", "profileId", "relationId"], "additionalProperties": false } ] } }, "required": ["revision", "createdAt", "snapshot"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogGroupingByIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/grouping/{id}/history/restore": { "post": { "operationId": "restoreGroupingCommand", "summary": "Reapply one historical classification or order command", "tags": ["Catalog Grouping"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historicalRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "historicalRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogGroupingByIdHistoryRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/entity/{id}/profile": { "get": { "operationId": "readCatalogEntityProfile", "summary": "Read fixed Entity catalog values", "tags": ["Catalog Entity"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "owner": { "type": "string", "const": "entity" }, "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)$" }, "shape": { "type": "string", "enum": [ "person", "organization", "character", "label", "collective", "unresolved", "service_actor" ] }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "profile": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "genderRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "beginAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "endAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] } }, "required": [ "typeRevisionId", "genderRevisionId", "areaId", "beginAreaId", "endAreaId", "begin", "end", "ended" ], "additionalProperties": false } }, "required": ["owner", "id", "shape", "revision", "profile"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogEntityByIdProfile", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "writeCatalogEntityProfile", "summary": "Set fixed Entity catalog values", "tags": ["Catalog Entity"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "profile": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "genderRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "beginAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "endAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] } }, "additionalProperties": false } }, "required": ["expectedRevision", "profile"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogEntityByIdProfile", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "removeCatalogEntityProfile", "summary": "Remove fixed values while preserving Entity history", "tags": ["Catalog Entity"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogEntityByIdProfile", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/entity/{id}/shape/resolve": { "post": { "operationId": "resolveCatalogEntityShape", "summary": "Resolve a previously unresolved Entity shape", "tags": ["Catalog Entity"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "shape": { "type": "string", "enum": [ "person", "organization", "character", "label", "collective", "unresolved", "service_actor" ] } }, "required": ["expectedRevision", "shape"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogEntityByIdShapeResolve", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/entity/{id}/profile/history": { "get": { "operationId": "listCatalogEntityProfileHistory", "summary": "Read authorized fixed-profile history", "tags": ["Catalog Entity"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "maxLength": 2048 } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 25, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "removed": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "profile": { "type": ["object", "null"], "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "genderRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "beginAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "endAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day", "text"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] } }, "required": [ "typeRevisionId", "genderRevisionId", "areaId", "beginAreaId", "endAreaId", "begin", "end", "ended" ], "additionalProperties": false } }, "required": ["revision", "removed", "createdAt", "profile"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogEntityByIdProfileHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/entity/{id}/profile/history/restore": { "post": { "operationId": "restoreCatalogEntityProfile", "summary": "Restore fixed values under current authority", "tags": ["Catalog Entity"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "historicalRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["expectedRevision", "historicalRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogEntityByIdProfileHistoryRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/editorial": { "get": { "operationId": "listCatalogEditorialLanguages", "summary": "List authored editorial languages", "tags": ["Catalog Editorial"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "language": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "editorialRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "state": { "default": "active", "enum": ["active", "withdrawn"], "type": "string" } }, "required": ["language", "editorialRevision", "state"] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdEditorial", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/editorial/{language}": { "get": { "operationId": "readCatalogEditorial", "summary": "Read one editorial language", "tags": ["Catalog Editorial"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "language": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "editorialRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "content": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "summary": { "nullable": true, "maxLength": 500, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "summary", "description", "avatar", "bannerAssetId", "coverAssetId" ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "language", "revision", "editorialRevision", "content", "avatar", "banner", "cover" ] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdEditorialByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "writeCatalogEditorial", "summary": "Write one editorial language", "tags": ["Catalog Editorial"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "expectedEditorialRevision": { "minimum": 0, "maximum": 9007199254740990, "type": "integer" }, "content": { "additionalProperties": false, "type": "object", "properties": { "summary": { "nullable": true, "maxLength": 500, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "summary", "description", "avatar", "bannerAssetId", "coverAssetId" ] } }, "required": ["expectedRevision", "expectedEditorialRevision", "content"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "editorialRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["revision", "editorialRevision"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogResourcesByOwnerByIdEditorialByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "operationId": "withdrawCatalogEditorial", "summary": "Withdraw editorial content while preserving history", "tags": ["Catalog Editorial"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "expectedEditorialRevision": { "minimum": 0, "maximum": 9007199254740990, "type": "integer" } }, "required": ["expectedRevision", "expectedEditorialRevision"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "editorialRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["revision", "editorialRevision"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "deleteApiCatalogResourcesByOwnerByIdEditorialByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/editorial/{language}/history": { "get": { "operationId": "listCatalogEditorialHistory", "summary": "Read authorized editorial revision metadata", "tags": ["Catalog Editorial"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 2048, "type": "string" } }, { "name": "limit", "in": "query", "required": true, "schema": { "minimum": 1, "maximum": 100, "default": 25, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "editorialRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": ["editorialRevision", "createdAt"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdEditorialByLanguageHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/editorial/{language}/history/{editorialRevision}": { "get": { "operationId": "readCatalogEditorialRevision", "summary": "Read one authorized editorial revision", "tags": ["Catalog Editorial"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, { "name": "editorialRevision", "in": "path", "required": true, "schema": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "language": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "editorialRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "content": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "summary": { "nullable": true, "maxLength": 500, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "summary", "description", "avatar", "bannerAssetId", "coverAssetId" ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "language", "revision", "editorialRevision", "content", "avatar", "banner", "cover" ] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdEditorialByLanguageHistoryByEditorialRevision", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/editorial/{language}/history/restore": { "post": { "operationId": "restoreCatalogEditorial", "summary": "Restore editorial content using current edit authority", "tags": ["Catalog Editorial"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ], "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "expectedEditorialRevision": { "minimum": 0, "maximum": 9007199254740990, "type": "integer" }, "historicalRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["expectedRevision", "expectedEditorialRevision", "historicalRevision"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "editorialRevision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" } }, "required": ["revision", "editorialRevision"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdEditorialByLanguageHistoryRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/entity-candidates": { "get": { "operationId": "listCatalogEntityCandidates", "summary": "Find public Entities eligible for the chosen attribution step", "tags": ["Catalog Entity"], "parameters": [ { "name": "mode", "in": "query", "required": true, "schema": { "default": "public", "enum": ["direct", "public"], "type": "string" } }, { "name": "query", "in": "query", "required": false, "schema": { "maxLength": 500, "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 8192, "type": "string" } }, { "name": "limit", "in": "query", "required": true, "schema": { "minimum": 1, "maximum": 50, "default": 10, "type": "integer" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogEntity-candidates", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/source-bindings": { "get": { "operationId": "listCatalogResourceSourceBindings", "summary": "Read source correspondences for a native record", "tags": ["Catalog sources"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterMappingKey", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "afterSourceRecordId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "sourceRecordId": { "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)$" }, "mappingKey": { "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)$" }, "source": { "type": "string" }, "objectType": { "type": "string" }, "externalId": { "type": "string" }, "mappingVersion": { "type": "string" }, "bindingRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "state": { "type": "string", "enum": ["active", "paused", "withdrawn"] }, "mode": { "type": "string", "enum": ["review", "manual"] }, "observedSnapshotId": { "type": ["string", "null"], "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)$" }, "headSnapshotId": { "type": ["string", "null"], "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)$" } }, "required": [ "sourceRecordId", "mappingKey", "source", "objectType", "externalId", "mappingVersion", "bindingRevision", "state", "mode", "observedSnapshotId", "headSnapshotId" ], "additionalProperties": false } }, "after": { "type": ["object", "null"], "properties": { "afterMappingKey": { "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)$" }, "afterSourceRecordId": { "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)$" } }, "required": ["afterMappingKey", "afterSourceRecordId"], "additionalProperties": false } }, "required": ["items", "after"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdSource-bindings", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources": { "post": { "operationId": "createCatalogResource", "summary": "Create a native catalog resource", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "publishing_work" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "text_version" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "languageTag": { "type": ["string", "null"] } }, "required": ["kind", "name", "languageTag"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "publication" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "pageCount": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "paginationText": { "type": ["string", "null"], "maxLength": 131072 } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "serialization" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "textVersionId": { "type": ["string", "null"], "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)$" }, "statusRevisionId": { "type": ["string", "null"], "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)$" } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "musical_work" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "recording" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "video": { "type": ["boolean", "null"] } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "release_group" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "music_release" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "releaseGroup": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "artistCreditId": { "type": ["string", "null"], "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)$" }, "languageTag": { "type": ["string", "null"] }, "scriptCode": { "type": ["string", "null"], "pattern": "^[A-Z][a-z]{3}$" } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "software_content" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "visualNovel": { "type": "boolean" }, "details": { "type": "object", "properties": { "originalLanguageTag": { "type": ["string", "null"] }, "developmentStatus": { "default": null, "type": ["string", "null"], "enum": ["finished", "in_development", "cancelled"] }, "description": { "default": null, "type": ["string", "null"] } }, "additionalProperties": false } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "software_version" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "content": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "details": { "type": "object", "properties": { "kind": { "type": "string", "enum": ["revision", "translation", "localization", "port", "variant"] }, "versionLabel": { "default": null, "type": ["string", "null"], "minLength": 1 }, "languageTag": { "type": ["string", "null"] }, "distinguishingEvidence": { "type": "string", "minLength": 1 } }, "required": ["kind", "distinguishingEvidence"], "additionalProperties": false } }, "required": ["kind", "name", "content", "details"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "software_release" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "details": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "isPatch": { "default": null, "type": ["boolean", "null"] }, "freeware": { "default": null, "type": ["boolean", "null"] }, "uncensored": { "default": null, "type": ["boolean", "null"] }, "hasEroticContent": { "default": null, "type": ["boolean", "null"] }, "minimumAge": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 255 }, "resolution": { "default": null, "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "pixels" }, "width": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "height": { "type": "integer", "minimum": 1, "maximum": 2147483647 } }, "required": ["kind", "width", "height"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "non_standard" } }, "required": ["kind"], "additionalProperties": false } ] }, { "type": "null" } ] }, "engine": { "default": null, "type": ["string", "null"] }, "voicing": { "default": null, "type": ["string", "null"], "enum": ["none", "erotic_only", "partial", "full"] }, "notes": { "default": null, "type": ["string", "null"] }, "gtin": { "default": null, "type": ["string", "null"] }, "catalogNumber": { "default": null, "type": ["string", "null"] }, "date": { "default": { "year": null, "month": null, "day": null, "text": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false } }, "additionalProperties": false } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "program" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "structure": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "program" }, "fields": { "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "declaredMainEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "declaredTotalEpisodeCount": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "season" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "number": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "program_version" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "versionTypeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "episode" }, "fields": { "type": "object", "properties": { "programId": { "default": null, "type": ["string", "null"], "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)$" }, "seasonId": { "default": null, "type": ["string", "null"], "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)$" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "sortNumber": { "default": null, "type": ["number", "null"] }, "episodeNumber": { "default": null, "type": ["number", "null"] }, "discNumber": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 2147483647 }, "durationText": { "default": null, "type": ["string", "null"], "maxLength": 4096 }, "lengthMilliseconds": { "default": null, "type": ["integer", "null"], "minimum": 0, "maximum": 9007199254740991 }, "date": { "default": { "year": null, "month": null, "day": null }, "type": "object", "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "dateText": { "default": null, "type": ["string", "null"], "maxLength": 4096 } }, "additionalProperties": false } }, "required": ["shape", "fields"], "additionalProperties": false } ] } }, "required": ["kind", "name", "structure"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "enum": [ "person", "organization", "character", "label", "collective", "unresolved", "service_actor" ] }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "profile": { "default": { "typeRevisionId": null, "genderRevisionId": null, "areaId": null, "beginAreaId": null, "endAreaId": null, "begin": null, "end": null, "ended": null }, "type": "object", "properties": { "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "genderRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "beginAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "endAreaId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] } }, "additionalProperties": false }, "kind": { "type": "string", "const": "entity" } }, "required": ["shape", "name", "kind"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "reference" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "profile": { "oneOf": [ { "type": "object", "properties": { "shape": { "type": "string", "const": "concept" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["shape"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "web_resource" }, "url": { "type": "string", "format": "uri" } }, "required": ["shape", "url"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "area" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] } }, "required": ["shape"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "instrument" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" } }, "required": ["shape"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "place" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] }, "areaId": { "default": null, "type": ["string", "null"], "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)$" }, "address": { "default": null, "type": ["string", "null"] }, "latitude": { "default": null, "type": ["number", "null"], "minimum": -90, "maximum": 90 }, "longitude": { "default": null, "type": ["number", "null"], "minimum": -180, "maximum": 180 } }, "required": ["shape"], "additionalProperties": false }, { "type": "object", "properties": { "shape": { "type": "string", "const": "event" }, "typeRevisionId": { "default": null, "type": ["string", "null"], "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)$" }, "placeId": { "default": null, "type": ["string", "null"], "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)$" }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 }, "text": { "default": null, "type": ["string", "null"] } }, "required": ["year", "month", "day"], "additionalProperties": false }, "localTime": { "default": null, "type": ["string", "null"], "pattern": "^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9](?:\\.[0-9]{1,6})?)?$" }, "cancelled": { "default": null, "type": ["boolean", "null"] }, "ended": { "default": null, "type": ["boolean", "null"] }, "setlist": { "default": null, "type": ["string", "null"] } }, "required": ["shape"], "additionalProperties": false } ] } }, "required": ["kind", "name", "profile"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "grouping" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false }, "classes": { "maxItems": 128, "type": "array", "items": { "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)$" } } }, "required": ["kind", "name"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "distribution" }, "name": { "type": "object", "properties": { "languageTag": { "type": ["string", "null"] }, "value": { "type": "string" } }, "required": ["languageTag", "value"], "additionalProperties": false } }, "required": ["kind", "name"], "additionalProperties": false } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["reference", "revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResources", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}": { "get": { "operationId": "readCatalogResource", "summary": "Read native catalog metadata", "tags": ["Catalog"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "reference": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "canEdit": { "type": "boolean" }, "shape": { "type": "string" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "contentRating": { "type": "string", "enum": ["general", "r15", "r18", "r18g"] }, "moderationStatus": { "type": "string", "enum": ["approved", "pending", "removed"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "updatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "reference", "canEdit", "shape", "revision", "status", "visibility", "contentRating", "moderationStatus", "createdAt", "updatedAt" ], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/lifecycle": { "patch": { "operationId": "updateCatalogLifecycle", "summary": "Change catalog publication and visibility", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "contentRating": { "type": "string", "enum": ["general", "r15", "r18", "r18g"] } }, "required": ["expectedRevision", "status", "visibility", "contentRating"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiCatalogResourcesByOwnerByIdLifecycle", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/names": { "get": { "operationId": "listCatalogNames", "summary": "List independently versioned catalog names", "tags": ["Catalog"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } }, { "name": "maxSpoiler", "in": "query", "required": false, "schema": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "ownerId": { "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)$" }, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "languageTag": { "type": ["string", "null"] }, "privateUseNamespace": { "type": ["string", "null"] }, "kind": { "type": "string" }, "value": { "type": "string" }, "sortName": { "type": ["string", "null"] }, "origin": { "type": "string", "enum": [ "original", "translation", "transliteration", "abbreviation", "variant", "unknown" ] }, "translationMethod": { "type": "string", "enum": ["human", "machine", "mixed", "unknown", "not_applicable"] }, "primaryForLanguage": { "type": ["boolean", "null"] }, "scopeOwnerId": { "type": ["string", "null"], "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)$" }, "territory": { "type": ["string", "null"] }, "context": { "type": ["string", "null"] }, "derivationNameId": { "type": ["string", "null"], "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)$" }, "derivationRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "begin": { "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "type": ["boolean", "null"] }, "spoiler": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": [ "ownerId", "id", "revision", "createdAt", "recordedAt", "languageTag", "privateUseNamespace", "kind", "value", "sortName", "origin", "translationMethod", "primaryForLanguage", "scopeOwnerId", "territory", "context", "derivationNameId", "derivationRevision", "begin", "end", "ended", "spoiler", "state" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdNames", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "addCatalogName", "summary": "Add a catalog name", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "value": { "type": "string", "minLength": 1 }, "kind": { "type": "string", "minLength": 1 }, "sortName": { "default": null, "type": ["string", "null"], "minLength": 1 }, "languageTag": { "type": ["string", "null"], "minLength": 1 }, "privateUseNamespace": { "default": null, "type": ["string", "null"], "minLength": 1 }, "origin": { "default": "unknown", "type": "string", "enum": [ "original", "translation", "transliteration", "abbreviation", "variant", "unknown" ] }, "translationMethod": { "default": "unknown", "type": "string", "enum": ["human", "machine", "mixed", "unknown", "not_applicable"] }, "primaryForLanguage": { "default": null, "type": ["boolean", "null"] }, "scopeOwnerId": { "default": null, "type": ["string", "null"], "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)$" }, "territory": { "default": null, "type": ["string", "null"], "minLength": 1 }, "context": { "default": null, "type": ["string", "null"], "minLength": 1 }, "derivationNameId": { "default": null, "type": ["string", "null"], "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)$" }, "derivationRevision": { "default": null, "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] }, "spoiler": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 }, "state": { "default": "active", "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": ["value", "kind", "languageTag"], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" }, "nameRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "id", "nameRevision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdNames", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/names/{nameId}": { "put": { "operationId": "reviseCatalogName", "summary": "Revise a catalog name with its exact current revision", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "nameId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "value": { "type": "string", "minLength": 1 }, "kind": { "type": "string", "minLength": 1 }, "sortName": { "default": null, "type": ["string", "null"], "minLength": 1 }, "languageTag": { "type": ["string", "null"], "minLength": 1 }, "privateUseNamespace": { "default": null, "type": ["string", "null"], "minLength": 1 }, "origin": { "default": "unknown", "type": "string", "enum": [ "original", "translation", "transliteration", "abbreviation", "variant", "unknown" ] }, "translationMethod": { "default": "unknown", "type": "string", "enum": ["human", "machine", "mixed", "unknown", "not_applicable"] }, "primaryForLanguage": { "default": null, "type": ["boolean", "null"] }, "scopeOwnerId": { "default": null, "type": ["string", "null"], "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)$" }, "territory": { "default": null, "type": ["string", "null"], "minLength": 1 }, "context": { "default": null, "type": ["string", "null"], "minLength": 1 }, "derivationNameId": { "default": null, "type": ["string", "null"], "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)$" }, "derivationRevision": { "default": null, "type": ["integer", "null"], "minimum": 1, "maximum": 9007199254740991 }, "begin": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "default": null, "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "default": null, "type": ["boolean", "null"] }, "spoiler": { "default": 0, "type": "integer", "minimum": 0, "maximum": 2 }, "state": { "default": "active", "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": ["value", "kind", "languageTag"], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "ownerId": { "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)$" }, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "languageTag": { "type": ["string", "null"] }, "privateUseNamespace": { "type": ["string", "null"] }, "kind": { "type": "string" }, "value": { "type": "string" }, "sortName": { "type": ["string", "null"] }, "origin": { "type": "string", "enum": [ "original", "translation", "transliteration", "abbreviation", "variant", "unknown" ] }, "translationMethod": { "type": "string", "enum": ["human", "machine", "mixed", "unknown", "not_applicable"] }, "primaryForLanguage": { "type": ["boolean", "null"] }, "scopeOwnerId": { "type": ["string", "null"], "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)$" }, "territory": { "type": ["string", "null"] }, "context": { "type": ["string", "null"] }, "derivationNameId": { "type": ["string", "null"], "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)$" }, "derivationRevision": { "type": ["integer", "null"], "minimum": -9007199254740991, "maximum": 9007199254740991 }, "begin": { "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "end": { "type": ["object", "null"], "properties": { "year": { "type": ["integer", "null"], "minimum": -2147483648, "maximum": 2147483647 }, "month": { "type": ["integer", "null"], "minimum": 1, "maximum": 12 }, "day": { "type": ["integer", "null"], "minimum": 1, "maximum": 31 } }, "required": ["year", "month", "day"], "additionalProperties": false }, "ended": { "type": ["boolean", "null"] }, "spoiler": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": [ "ownerId", "id", "revision", "createdAt", "recordedAt", "languageTag", "privateUseNamespace", "kind", "value", "sortName", "origin", "translationMethod", "primaryForLanguage", "scopeOwnerId", "territory", "context", "derivationNameId", "derivationRevision", "begin", "end", "ended", "spoiler", "state" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogResourcesByOwnerByIdNamesByNameId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/identifiers": { "get": { "operationId": "listCatalogIdentifiers", "summary": "List catalog identifier claims", "tags": ["Catalog"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 50, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "ownerId": { "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)$" }, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "namespace": { "type": "string" }, "value": { "type": "string" }, "normalizedValue": { "type": "string" }, "normalizationPolicy": { "type": "string" }, "validationStatus": { "type": "string", "enum": ["valid", "unvalidated"] }, "issuerEntityId": { "type": ["string", "null"], "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)$" }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": [ "ownerId", "id", "revision", "createdAt", "recordedAt", "namespace", "value", "normalizedValue", "normalizationPolicy", "validationStatus", "issuerEntityId", "state" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiCatalogResourcesByOwnerByIdIdentifiers", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "addCatalogIdentifier", "summary": "Add an identifier claim without merging identities", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "namespace": { "type": "string", "pattern": "^[a-z][a-z0-9_.:-]{0,127}$" }, "value": { "type": "string", "minLength": 1 }, "issuerEntityId": { "default": null, "type": ["string", "null"], "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)$" }, "state": { "default": "active", "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": ["namespace", "value"], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "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)$" }, "identifierRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 } }, "required": ["revision", "id", "identifierRevision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiCatalogResourcesByOwnerByIdIdentifiers", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/catalog/resources/{owner}/{id}/identifiers/{identifierId}": { "put": { "operationId": "reviseCatalogIdentifier", "summary": "Revise an exact identifier claim", "tags": ["Catalog"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] } }, { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "identifierId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "value": { "type": "object", "properties": { "namespace": { "type": "string", "pattern": "^[a-z][a-z0-9_.:-]{0,127}$" }, "value": { "type": "string", "minLength": 1 }, "issuerEntityId": { "default": null, "type": ["string", "null"], "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)$" }, "state": { "default": "active", "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": ["namespace", "value"], "additionalProperties": false } }, "required": ["expectedRevision", "value"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "ownerId": { "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)$" }, "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)$" }, "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "recordedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "namespace": { "type": "string" }, "value": { "type": "string" }, "normalizedValue": { "type": "string" }, "normalizationPolicy": { "type": "string" }, "validationStatus": { "type": "string", "enum": ["valid", "unvalidated"] }, "issuerEntityId": { "type": ["string", "null"], "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)$" }, "state": { "type": "string", "enum": ["active", "disputed", "withdrawn", "superseded"] } }, "required": [ "ownerId", "id", "revision", "createdAt", "recordedAt", "namespace", "value", "normalizedValue", "normalizationPolicy", "validationStatus", "issuerEntityId", "state" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiCatalogResourcesByOwnerByIdIdentifiersByIdentifierId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/docks": { "get": { "summary": "List configured Unit Docks", "tags": ["Docks"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "ownerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "ownerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "enum": ["main", "wiki"] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/DockDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "ownerRevision", "id", "unitId", "kind", "latestRevisionId", "document", "createdAt", "updatedAt" ] } } }, "required": ["ownerRevision", "items"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockNotSupported", "enum": ["DockNotSupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdDocks", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdDocks", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/docks/{kind}": { "get": { "summary": "Get a Unit Dock", "tags": ["Docks"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": ["main", "wiki"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "ownerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "enum": ["main", "wiki"] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/DockDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "ownerRevision", "id", "unitId", "kind", "latestRevisionId", "document", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockNotSupported", "enum": ["DockNotSupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "DockNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdDocksByKind", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdDocksByKind", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Create or replace a Unit Dock", "tags": ["Docks"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": ["main", "wiki"] } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "document": { "$ref": "#/components/schemas/DockDocument" }, "baseRevisionId": { "type": "string", "format": "uuid" }, "expectedOwnerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": ["document"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "ownerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "enum": ["main", "wiki"] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/DockDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "ownerRevision", "id", "unitId", "kind", "latestRevisionId", "document", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockNotSupported", "enum": ["DockNotSupported", "DockDocumentInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockRevisionConflict", "enum": ["DockRevisionConflict", "CatalogRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiUnitsBy-idByUnitIdDocksByKind", "x-rezics-quota-route-operation-id": "putApiUnitsBy-idByUnitIdDocksByKind", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete a Unit Dock", "tags": ["Docks"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockNotSupported", "enum": ["DockNotSupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "DockNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockRevisionConflict", "enum": ["DockRevisionConflict", "CatalogRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": ["main", "wiki"] } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "expectedOwnerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": ["baseRevisionId"] } } } }, "operationId": "deleteApiUnitsBy-idByUnitIdDocksByKind", "x-rezics-quota-route-operation-id": "deleteApiUnitsBy-idByUnitIdDocksByKind", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/docks/{kind}/revisions": { "get": { "summary": "List Dock revisions", "tags": ["Docks"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": ["main", "wiki"] } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "sourceRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "kind": { "default": "create", "enum": ["create", "update", "delete", "restore"], "type": "string" }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "parentRevisionId", "sourceRevisionId", "actorProfileId", "kind", "editSummary", "createdAt" ] } } }, "required": ["items"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockNotSupported", "enum": ["DockNotSupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "DockNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdDocksByKindRevisions", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdDocksByKindRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/docks/{kind}/revisions/{revisionId}/restore": { "post": { "summary": "Restore a Dock revision", "tags": ["Docks"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "path", "required": true, "schema": { "type": "string", "enum": ["main", "wiki"] } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "expectedOwnerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "ownerRevision": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "updated": { "type": "boolean", "const": true }, "latestRevisionId": { "type": "string", "format": "uuid" } }, "required": ["ownerRevision", "updated", "latestRevisionId"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockNotSupported", "enum": ["DockNotSupported", "DockDocumentInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "DockNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "DockRevisionConflict", "enum": ["DockRevisionConflict", "CatalogRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsBy-idByUnitIdDocksByKindRevisionsByRevisionIdRestore", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdDocksByKindRevisionsByRevisionIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me": { "get": { "summary": "Current user profile", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "entity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "name": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "revision": { "minimum": 0, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "status", "visibility", "language", "name", "avatar", "banner", "summary", "description", "revision", "createdAt", "updatedAt" ] }, "email": { "type": "string" }, "emailVerified": { "type": "boolean" }, "onboarding": { "type": "string" }, "principal": { "type": "object", "properties": { "kind": { "type": "string", "const": "auth" }, "authUserId": { "type": "string", "format": "uuid" } }, "required": ["kind", "authUserId"] }, "authorizationRevision": { "minimum": 1, "type": "integer" }, "platformCapabilities": { "uniqueItems": true, "type": "array", "items": { "default": "platform.access.read", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ], "type": "string" } } }, "required": [ "entity", "email", "emailVerified", "onboarding", "principal", "authorizationRevision", "platformCapabilities" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": ["CatalogReferenceNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiAccountMe", "x-rezics-quota-route-operation-id": "getApiAccountMe", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update current profile", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "language": { "minLength": 1, "maxLength": 255, "type": "string" }, "name": { "minLength": 1, "maxLength": 120, "type": "string" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "summary": { "maxLength": 500, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["expectedRevision", "language"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "name": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "revision": { "minimum": 0, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "status", "visibility", "language", "name", "avatar", "banner", "summary", "description", "revision", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": ["ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogReferenceNotFound", "enum": ["CatalogReferenceNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CatalogRevisionConflict", "enum": ["CatalogRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiAccountMe", "x-rezics-quota-route-operation-id": "patchApiAccountMe", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/studio": { "get": { "operationId": "listCurrentUserStudioContent", "summary": "List current user's actionable Studio workspace resources", "tags": ["Users", "Studio"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "section", "in": "query", "required": false, "schema": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "tag", "realm", "zone", "post", "wiki", "collection", "review", "poll" ], "type": "string" } }, { "name": "source", "in": "query", "required": false, "schema": { "default": "all", "enum": ["all", "created", "owned", "direct", "delegated"], "type": "string" } }, { "name": "status", "in": "query", "required": false, "schema": { "enum": ["draft", "published", "archived"], "type": "string" } }, { "name": "visibility", "in": "query", "required": false, "schema": { "enum": ["public", "unlisted", "private"], "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "section": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "tag", "realm", "zone", "post", "wiki", "collection", "review", "poll" ], "type": "string" }, "resourceOwner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "resourceShape": { "type": "string" }, "language": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "status": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "visibility": { "default": "public", "enum": ["public", "unlisted", "private"], "type": "string" }, "accessSources": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "enum": [ "owner", "direct", "realm", "catalog_creator", "catalog_grant" ], "type": "string" } }, "assignedAt": { "type": "string", "format": "date-time" }, "lastVisitedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "slugAddress", "section", "resourceOwner", "resourceShape", "language", "title", "cover", "status", "visibility", "accessSources", "assignedAt", "lastVisitedAt", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "StudioRealmSubjectLimitExceeded", "enum": ["StudioRealmSubjectLimitExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiAccountMeStudio", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/studio/{unitId}/visit": { "put": { "operationId": "recordCurrentUserStudioVisit", "summary": "Record a Studio resource visit", "tags": ["Users", "Studio"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "lastVisitedAt": { "type": "string", "format": "date-time" } }, "required": ["unitId", "lastVisitedAt"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiAccountMeStudioByUnitIdVisit", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/preferences": { "get": { "summary": "Current user preferences", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "interfaceLocale": { "enum": ["en", "zh-Hant", "zh-Hans", "ja", "ko", "de", "fr", "es"], "type": "string" }, "chineseContentDisplay": { "enum": ["original", "hant", "hans"], "type": "string" }, "defaultLicenses": { "type": "array", "items": { "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" } }, "defaultRealmManageMode": { "type": "boolean" }, "defaultScoreRealmId": { "type": "string", "format": "uuid" }, "scoreVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "progressVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "collectionConfig": { "nullable": true, "additionalProperties": false, "minProperties": 1, "type": ["object", "null"], "properties": { "version": { "type": "number", "const": 1 }, "view": { "default": "grid", "enum": ["grid", "list"], "type": "string" }, "addMainWithVariantByDefault": { "type": "boolean" } }, "required": ["version"] }, "personalizedFeed": { "type": "boolean" }, "customThemesEnabled": { "type": "boolean" }, "filterFeedByPreferredLanguages": { "type": "boolean" }, "alwaysShowSpoilers": { "type": "boolean" }, "alwaysShowNsfw": { "type": "boolean" }, "contentRatings": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" } }, "preferredLanguages": { "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": [ "interfaceLocale", "chineseContentDisplay", "defaultLicenses", "defaultRealmManageMode", "defaultScoreRealmId", "scoreVisibility", "progressVisibility", "collectionConfig", "personalizedFeed", "customThemesEnabled", "filterFeedByPreferredLanguages", "alwaysShowSpoilers", "alwaysShowNsfw", "contentRatings", "preferredLanguages" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PreferencesNotFound", "enum": ["PreferencesNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiAccountMePreferences", "x-rezics-quota-route-operation-id": "getApiAccountMePreferences", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update current user display preferences", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "minProperties": 1, "type": "object", "properties": { "interfaceLocale": { "enum": ["en", "zh-Hant", "zh-Hans", "ja", "ko", "de", "fr", "es"], "type": "string" }, "chineseContentDisplay": { "enum": ["original", "hant", "hans"], "type": "string" }, "alwaysShowSpoilers": { "type": "boolean" }, "alwaysShowNsfw": { "type": "boolean" }, "customThemesEnabled": { "type": "boolean" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "interfaceLocale": { "enum": ["en", "zh-Hant", "zh-Hans", "ja", "ko", "de", "fr", "es"], "type": "string" }, "chineseContentDisplay": { "enum": ["original", "hant", "hans"], "type": "string" }, "defaultLicenses": { "type": "array", "items": { "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" } }, "defaultRealmManageMode": { "type": "boolean" }, "defaultScoreRealmId": { "type": "string", "format": "uuid" }, "scoreVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "progressVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "collectionConfig": { "nullable": true, "additionalProperties": false, "minProperties": 1, "type": ["object", "null"], "properties": { "version": { "type": "number", "const": 1 }, "view": { "default": "grid", "enum": ["grid", "list"], "type": "string" }, "addMainWithVariantByDefault": { "type": "boolean" } }, "required": ["version"] }, "personalizedFeed": { "type": "boolean" }, "customThemesEnabled": { "type": "boolean" }, "filterFeedByPreferredLanguages": { "type": "boolean" }, "alwaysShowSpoilers": { "type": "boolean" }, "alwaysShowNsfw": { "type": "boolean" }, "contentRatings": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" } }, "preferredLanguages": { "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": [ "interfaceLocale", "chineseContentDisplay", "defaultLicenses", "defaultRealmManageMode", "defaultScoreRealmId", "scoreVisibility", "progressVisibility", "collectionConfig", "personalizedFeed", "customThemesEnabled", "filterFeedByPreferredLanguages", "alwaysShowSpoilers", "alwaysShowNsfw", "contentRatings", "preferredLanguages" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PreferencesNotFound", "enum": ["PreferencesNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiAccountMePreferences", "x-rezics-quota-route-operation-id": "patchApiAccountMePreferences", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace current user preferences", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "interfaceLocale": { "enum": ["en", "zh-Hant", "zh-Hans", "ja", "ko", "de", "fr", "es"], "type": "string" }, "chineseContentDisplay": { "enum": ["original", "hant", "hans"], "type": "string" }, "defaultLicenses": { "uniqueItems": true, "maxItems": 9, "type": "array", "items": { "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" } }, "defaultRealmManageMode": { "default": false, "type": "boolean" }, "defaultScoreRealmId": { "type": "string", "format": "uuid" }, "collectionConfig": { "nullable": true, "additionalProperties": false, "minProperties": 1, "type": ["object", "null"], "properties": { "version": { "type": "number", "const": 1 }, "view": { "default": "grid", "enum": ["grid", "list"], "type": "string" }, "addMainWithVariantByDefault": { "type": "boolean" } }, "required": ["version"] }, "personalizedFeed": { "default": true, "type": "boolean" }, "customThemesEnabled": { "default": true, "type": "boolean" }, "filterFeedByPreferredLanguages": { "default": false, "type": "boolean" }, "alwaysShowSpoilers": { "default": false, "type": "boolean" }, "alwaysShowNsfw": { "default": false, "type": "boolean" }, "contentRatings": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" } }, "preferredLanguages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": [ "interfaceLocale", "chineseContentDisplay", "defaultLicenses", "defaultRealmManageMode", "defaultScoreRealmId", "collectionConfig", "personalizedFeed", "customThemesEnabled", "filterFeedByPreferredLanguages", "alwaysShowSpoilers", "alwaysShowNsfw", "contentRatings", "preferredLanguages" ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "interfaceLocale": { "enum": ["en", "zh-Hant", "zh-Hans", "ja", "ko", "de", "fr", "es"], "type": "string" }, "chineseContentDisplay": { "enum": ["original", "hant", "hans"], "type": "string" }, "defaultLicenses": { "type": "array", "items": { "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" } }, "defaultRealmManageMode": { "type": "boolean" }, "defaultScoreRealmId": { "type": "string", "format": "uuid" }, "scoreVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "progressVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "collectionConfig": { "nullable": true, "additionalProperties": false, "minProperties": 1, "type": ["object", "null"], "properties": { "version": { "type": "number", "const": 1 }, "view": { "default": "grid", "enum": ["grid", "list"], "type": "string" }, "addMainWithVariantByDefault": { "type": "boolean" } }, "required": ["version"] }, "personalizedFeed": { "type": "boolean" }, "customThemesEnabled": { "type": "boolean" }, "filterFeedByPreferredLanguages": { "type": "boolean" }, "alwaysShowSpoilers": { "type": "boolean" }, "alwaysShowNsfw": { "type": "boolean" }, "contentRatings": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" } }, "preferredLanguages": { "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": [ "interfaceLocale", "chineseContentDisplay", "defaultLicenses", "defaultRealmManageMode", "defaultScoreRealmId", "scoreVisibility", "progressVisibility", "collectionConfig", "personalizedFeed", "customThemesEnabled", "filterFeedByPreferredLanguages", "alwaysShowSpoilers", "alwaysShowNsfw", "contentRatings", "preferredLanguages" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": ["ParticipationDenied", "RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PreferencesNotFound", "enum": ["PreferencesNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiAccountMePreferences", "x-rezics-quota-route-operation-id": "putApiAccountMePreferences", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/privacy": { "patch": { "operationId": "updateCurrentUserPrivacy", "summary": "Update current user's Score and Progress privacy", "tags": ["Users", "First-party Preview"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "minProperties": 1, "type": "object", "properties": { "scoreVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "progressVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "scoreVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "progressVisibility": { "enum": ["public", "unlisted", "private"], "type": "string" } }, "required": ["scoreVisibility", "progressVisibility"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InteractiveSessionRequired", "enum": ["InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PreferencesNotFound", "enum": ["PreferencesNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiAccountMePrivacy", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/following": { "get": { "summary": "List Units followed by the current user", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "query", "required": false, "schema": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "owner": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "favorite": { "type": "boolean" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "slugAddress", "owner", "shape", "language", "title", "avatar", "cover", "position", "favorite", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiAccountMeFollowing", "x-rezics-quota-route-operation-id": "getApiAccountMeFollowing", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/following/{unitId}": { "get": { "summary": "Get current user's follow state for a Unit", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "following": { "type": "boolean", "const": true }, "owner": { "type": "string", "const": "realm" }, "favorite": { "type": "boolean" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "inAppNotificationsEnabled": { "type": "boolean" }, "realmTagSourceSubscribed": { "type": "boolean" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] }, { "type": "object", "properties": { "following": { "type": "boolean", "const": true }, "owner": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "favorite": { "type": "boolean" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "inAppNotificationsEnabled": { "type": "boolean" }, "realmTagSourceSubscribed": { "type": "null" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] }, { "type": "object", "properties": { "following": { "type": "boolean", "const": false }, "owner": { "type": "string", "const": "realm" }, "favorite": { "type": "null" }, "position": { "type": "null" }, "inAppNotificationsEnabled": { "type": "null" }, "realmTagSourceSubscribed": { "type": "boolean" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] }, { "type": "object", "properties": { "following": { "type": "boolean", "const": false }, "owner": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "favorite": { "type": "null" }, "position": { "type": "null" }, "inAppNotificationsEnabled": { "type": "null" }, "realmTagSourceSubscribed": { "type": "null" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiAccountMeFollowingByUnitId", "x-rezics-quota-route-operation-id": "getApiAccountMeFollowingByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Follow a Unit", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "following": { "type": "boolean" } }, "required": ["following"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserSelfFollowForbidden", "enum": ["UserSelfFollowForbidden", "UserFollowBlocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiAccountMeFollowingByUnitId", "x-rezics-quota-route-operation-id": "putApiAccountMeFollowingByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Unfollow a Unit", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "following": { "type": "boolean" } }, "required": ["following"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiAccountMeFollowingByUnitId", "x-rezics-quota-route-operation-id": "deleteApiAccountMeFollowingByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update followed Unit presentation", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "favorite": { "type": "boolean" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "favorite": { "type": "boolean" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["unitId", "position", "favorite", "updatedAt"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiAccountMeFollowingByUnitId", "x-rezics-quota-route-operation-id": "patchApiAccountMeFollowingByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/following/{unitId}/settings": { "put": { "summary": "Replace notification and personalization settings for a followed Unit", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "const": "realm" }, "inAppNotificationsEnabled": { "type": "boolean" }, "realmTagSourceSubscribed": { "type": "boolean" } }, "required": ["owner", "inAppNotificationsEnabled", "realmTagSourceSubscribed"] }, { "additionalProperties": false, "type": "object", "properties": { "owner": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "inAppNotificationsEnabled": { "type": "boolean" }, "realmTagSourceSubscribed": { "type": "null" } }, "required": ["owner", "inAppNotificationsEnabled", "realmTagSourceSubscribed"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "following": { "type": "boolean", "const": true }, "owner": { "type": "string", "const": "realm" }, "favorite": { "type": "boolean" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "inAppNotificationsEnabled": { "type": "boolean" }, "realmTagSourceSubscribed": { "type": "boolean" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] }, { "type": "object", "properties": { "following": { "type": "boolean", "const": true }, "owner": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "favorite": { "type": "boolean" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "inAppNotificationsEnabled": { "type": "boolean" }, "realmTagSourceSubscribed": { "type": "null" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] }, { "type": "object", "properties": { "following": { "type": "boolean", "const": false }, "owner": { "type": "string", "const": "realm" }, "favorite": { "type": "null" }, "position": { "type": "null" }, "inAppNotificationsEnabled": { "type": "null" }, "realmTagSourceSubscribed": { "type": "boolean" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] }, { "type": "object", "properties": { "following": { "type": "boolean", "const": false }, "owner": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "favorite": { "type": "null" }, "position": { "type": "null" }, "inAppNotificationsEnabled": { "type": "null" }, "realmTagSourceSubscribed": { "type": "null" } }, "required": [ "following", "owner", "favorite", "position", "inAppNotificationsEnabled", "realmTagSourceSubscribed" ] } ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "FollowingTargetKindMismatch", "enum": ["FollowingTargetKindMismatch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiAccountMeFollowingByUnitIdSettings", "x-rezics-quota-route-operation-id": "putApiAccountMeFollowingByUnitIdSettings", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/entities/{id}/activity": { "get": { "operationId": "getUserProfileActivity", "summary": "Get visible Score and Progress activity for a public Profile", "tags": ["Users"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "unitOwner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "unitShape": { "type": "string" }, "unitLanguage": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "unitTitle": { "nullable": true, "type": ["string", "null"] }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "scoreId", "unitId", "unitOwner", "unitShape", "unitLanguage", "unitTitle", "realmId", "realmTitle", "value", "visibility", "updatedAt" ] } }, "progress": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "unitOwner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "unitShape": { "type": "string" }, "unitLanguage": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "unitTitle": { "nullable": true, "type": ["string", "null"] }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completedCount": { "minimum": 0, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "lastSeenAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "unitOwner", "unitShape", "unitLanguage", "unitTitle", "status", "progress", "completedCount", "visibility", "lastSeenAt" ] } } }, "required": ["scores", "progress"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiEntitiesByIdActivity", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/entities/{id}/profile": { "get": { "summary": "Public user profile", "tags": ["Users"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "name": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "revision": { "minimum": 0, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "status", "visibility", "language", "name", "avatar", "banner", "summary", "description", "revision", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiEntitiesByIdProfile", "x-rezics-quota-route-operation-id": "getApiEntitiesByIdProfile", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/me/blocks": { "get": { "summary": "List blocked users", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" } }, "required": ["entityId", "name", "createdAt"] } } }, "required": ["items"] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiAccountMeBlocks", "x-rezics-quota-route-operation-id": "getApiAccountMeBlocks", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/account/blocks/{id}": { "put": { "summary": "Block user", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "blocked": { "type": "boolean" } }, "required": ["blocked"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserSelfBlockForbidden", "enum": ["UserSelfBlockForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiAccountBlocksById", "x-rezics-quota-route-operation-id": "putApiAccountBlocksById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Unblock user", "tags": ["Users"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "blocked": { "type": "boolean" } }, "required": ["blocked"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiAccountBlocksById", "x-rezics-quota-route-operation-id": "deleteApiAccountBlocksById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/organizations/{organizationEntityId}/members": { "get": { "operationId": "listManagedOrganizationMembers", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "organizationEntityId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "memberEntityId": { "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)$" }, "memberName": { "type": ["string", "null"] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "joinedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "removedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "organizationEntityId", "organizationName", "memberEntityId", "memberName", "revision", "joinedAt", "removedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationMembershipOrganizationsByOrganizationEntityIdMembers", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/organizations/{organizationEntityId}/invitations": { "get": { "operationId": "listManagedOrganizationInvitations", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "organizationEntityId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "recipientEntityId": { "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)$" }, "recipientName": { "type": ["string", "null"] }, "state": { "type": "string", "enum": [ "pending", "accepted", "declined", "cancelled", "expired", "invalidated" ] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "organizationEntityId", "organizationName", "recipientEntityId", "recipientName", "state", "revision", "expiresAt", "createdAt", "resolvedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationMembershipOrganizationsByOrganizationEntityIdInvitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "inviteOrganizationMember", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "organizationEntityId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "recipientEntityId": { "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)$" }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["recipientEntityId"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "recipientEntityId": { "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)$" }, "recipientName": { "type": ["string", "null"] }, "state": { "type": "string", "enum": [ "pending", "accepted", "declined", "cancelled", "expired", "invalidated" ] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "organizationEntityId", "organizationName", "recipientEntityId", "recipientName", "state", "revision", "expiresAt", "createdAt", "resolvedAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationMembershipOrganizationsByOrganizationEntityIdInvitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/organizations/{organizationEntityId}/invitations/{invitationId}/cancel": { "post": { "operationId": "cancelOrganizationMembershipInvitation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "organizationEntityId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "invitationId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740990 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "recipientEntityId": { "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)$" }, "recipientName": { "type": ["string", "null"] }, "state": { "type": "string", "enum": [ "pending", "accepted", "declined", "cancelled", "expired", "invalidated" ] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "organizationEntityId", "organizationName", "recipientEntityId", "recipientName", "state", "revision", "expiresAt", "createdAt", "resolvedAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationMembershipOrganizationsByOrganizationEntityIdInvitationsByInvitationIdCancel", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/organizations/{organizationEntityId}/members/{memberEntityId}/remove": { "post": { "operationId": "removeOrganizationMember", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "organizationEntityId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "memberEntityId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740990 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "memberEntityId": { "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)$" }, "memberName": { "type": ["string", "null"] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "joinedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "removedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "organizationEntityId", "organizationName", "memberEntityId", "memberName", "revision", "joinedAt", "removedAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationMembershipOrganizationsByOrganizationEntityIdMembersByMemberEntityIdRemove", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/me/invitations": { "get": { "operationId": "listOwnOrganizationMembershipInvitations", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "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)$" }, "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "recipientEntityId": { "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)$" }, "recipientName": { "type": ["string", "null"] }, "state": { "type": "string", "enum": [ "pending", "accepted", "declined", "cancelled", "expired", "invalidated" ] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "organizationEntityId", "organizationName", "recipientEntityId", "recipientName", "state", "revision", "expiresAt", "createdAt", "resolvedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationMembershipMeInvitations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/me/organizations": { "get": { "operationId": "listOwnOrganizationMemberships", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "memberEntityId": { "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)$" }, "memberName": { "type": ["string", "null"] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "joinedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "removedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "organizationEntityId", "organizationName", "memberEntityId", "memberName", "revision", "joinedAt", "removedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationMembershipMeOrganizations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/invitations/{invitationId}/accept": { "post": { "operationId": "acceptOrganizationMembershipInvitation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "invitationId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740990 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "recipientEntityId": { "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)$" }, "recipientName": { "type": ["string", "null"] }, "state": { "type": "string", "enum": [ "pending", "accepted", "declined", "cancelled", "expired", "invalidated" ] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "organizationEntityId", "organizationName", "recipientEntityId", "recipientName", "state", "revision", "expiresAt", "createdAt", "resolvedAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationMembershipInvitationsByInvitationIdAccept", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/invitations/{invitationId}/decline": { "post": { "operationId": "declineOrganizationMembershipInvitation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "invitationId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740990 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "recipientEntityId": { "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)$" }, "recipientName": { "type": ["string", "null"] }, "state": { "type": "string", "enum": [ "pending", "accepted", "declined", "cancelled", "expired", "invalidated" ] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "resolvedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "organizationEntityId", "organizationName", "recipientEntityId", "recipientName", "state", "revision", "expiresAt", "createdAt", "resolvedAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationMembershipInvitationsByInvitationIdDecline", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/membership/me/organizations/{organizationEntityId}/leave": { "post": { "operationId": "leaveOrganizationMembership", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "organizationEntityId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740990 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "organizationEntityId": { "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)$" }, "organizationName": { "type": ["string", "null"] }, "memberEntityId": { "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)$" }, "memberName": { "type": ["string", "null"] }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "joinedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "removedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "organizationEntityId", "organizationName", "memberEntityId", "memberName", "revision", "joinedAt", "removedAt" ], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipNotFound", "enum": ["OrganizationMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "OrganizationMembershipConflict", "enum": [ "OrganizationMembershipConflict", "OrganizationMembershipCapacityExceeded" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationMembershipMeOrganizationsByOrganizationEntityIdLeave", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/organizations": { "get": { "operationId": "listManagedOrganizations", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } }, { "name": "capability", "in": "query", "required": false, "schema": { "type": "string", "enum": ["entity.publish", "entity.membership", "entity.security"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "entityId": { "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)$" }, "name": { "type": ["string", "null"] }, "grantId": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["entityId", "name", "grantId", "revision"], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationOrganizations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "createManagedOrganization", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 120 }, "language": { "type": "string", "minLength": 1, "maxLength": 255 } }, "required": ["name", "language"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "entityId": { "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)$" }, "grants": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "capability": { "type": "string", "enum": [ "catalog.read", "catalog.edit", "entity.publish", "entity.membership", "entity.security", "proposal.adopt" ] } }, "required": ["id", "revision", "capability"], "additionalProperties": false } } }, "required": ["entityId", "grants"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationOrganizations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/presentation": { "patch": { "operationId": "updateActingEntityPresentation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "language": { "minLength": 1, "maxLength": 255, "type": "string" }, "name": { "minLength": 1, "maxLength": 120, "type": "string" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "summary": { "maxLength": 500, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["expectedRevision", "language"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "entityId": { "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)$" }, "language": { "type": "string" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["entityId", "language", "revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "patchApiParticipationPresentation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/presentation/{language}/history": { "get": { "operationId": "listActingEntityPresentationHistory", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "language", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } }, { "name": "beforeRevision", "in": "query", "required": false, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["revision", "createdAt"], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationPresentationByLanguageHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/presentation/{language}/history/{revision}": { "get": { "operationId": "getActingEntityPresentationRevision", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "language", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } }, { "name": "revision", "in": "path", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "language": { "minLength": 1, "maxLength": 255, "type": "string" }, "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "name": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "revision": { "minimum": 1, "maximum": 9007199254740991, "type": "integer" }, "value": { "type": "string" } }, "required": ["id", "revision", "value"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] } }, "required": [ "entityId", "language", "revision", "name", "avatar", "bannerAssetId", "summary", "description" ] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationPresentationByLanguageHistoryByRevision", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/presentation/{language}/restore": { "post": { "operationId": "restoreActingEntityPresentation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "language", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 255 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["revision", "expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "entityId": { "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)$" }, "language": { "type": "string" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["entityId", "language", "revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationPresentationByLanguageRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/self": { "get": { "operationId": "getCurrentParticipation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "actingEntityId": { "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)$" }, "authorizationRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "grant": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "entity": { "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)$" }, "name": { "type": ["string", "null"] } }, "required": ["id", "name"], "additionalProperties": false } }, "required": ["actingEntityId", "authorizationRevision", "grant", "entity"], "additionalProperties": false } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationSelf", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/grants": { "get": { "operationId": "listParticipationGrants", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "actingEntityId": { "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)$" }, "capability": { "type": "string", "enum": [ "catalog.read", "catalog.edit", "entity.publish", "entity.membership", "entity.security", "proposal.adopt" ] }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "proposal": { "type": ["object", "null"], "properties": { "sourceRecordId": { "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)$" }, "proposalId": { "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)$" } }, "required": ["sourceRecordId", "proposalId"], "additionalProperties": false }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "expiresAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "revokedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "id", "revision", "actingEntityId", "capability", "target", "proposal", "createdAt", "expiresAt", "revokedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationGrants", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "issueParticipationGrant", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "recipient": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "account" }, "entityId": { "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)$" } }, "required": ["kind", "entityId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "service" }, "servicePrincipalId": { "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)$" } }, "required": ["kind", "servicePrincipalId"], "additionalProperties": false } ] }, "actingEntityId": { "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)$" }, "capability": { "type": "string", "enum": [ "catalog.read", "catalog.edit", "entity.publish", "entity.membership", "entity.security", "proposal.adopt" ] }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "expiresAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "proposal": { "type": "object", "properties": { "sourceRecordId": { "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)$" }, "proposalId": { "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)$" } }, "required": ["sourceRecordId", "proposalId"], "additionalProperties": false } }, "required": ["recipient", "actingEntityId", "capability", "target"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationGrants", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/entities/{id}/grants": { "get": { "operationId": "listManagedEntityGrants", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "afterId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "actingEntityId": { "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)$" }, "capability": { "type": "string", "enum": [ "catalog.read", "catalog.edit", "entity.publish", "entity.membership", "entity.security", "proposal.adopt" ] }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "proposal": { "type": ["object", "null"], "properties": { "sourceRecordId": { "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)$" }, "proposalId": { "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)$" } }, "required": ["sourceRecordId", "proposalId"], "additionalProperties": false }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "expiresAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "revokedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "recipient": { "anyOf": [ { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "account" }, "entityId": { "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)$" } }, "required": ["kind", "entityId"], "additionalProperties": false }, { "type": "object", "properties": { "kind": { "type": "string", "const": "service" }, "servicePrincipalId": { "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)$" } }, "required": ["kind", "servicePrincipalId"], "additionalProperties": false } ] }, { "type": "null" } ] }, "recipientName": { "type": ["string", "null"] } }, "required": [ "id", "revision", "actingEntityId", "capability", "target", "proposal", "createdAt", "expiresAt", "revokedAt", "recipient", "recipientName" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationEntitiesByIdGrants", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/acting": { "post": { "operationId": "selectParticipation", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "actingEntityId": { "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)$" }, "grant": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false }, "capability": { "type": "string", "enum": [ "catalog.read", "catalog.edit", "entity.publish", "entity.membership", "entity.security", "proposal.adopt" ] }, "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false } }, "required": ["actingEntityId", "capability", "target"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "actingEntityId": { "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)$" }, "authorizationRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "grant": { "type": ["object", "null"], "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } }, "required": ["actingEntityId", "authorizationRevision", "grant"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationActing", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/grants/{id}/revoke": { "post": { "operationId": "revokeParticipationGrant", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationGrantsByIdRevoke", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/service-principals": { "get": { "operationId": "listControlledServicePrincipals", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "afterGrantId", "in": "query", "required": false, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "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)$" }, "entityId": { "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)$" }, "name": { "type": "string" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "revokedAt": { "type": ["string", "null"], "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "controlGrant": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } }, "required": [ "id", "entityId", "name", "revision", "createdAt", "revokedAt", "controlGrant" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"], "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)$" } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiParticipationService-principals", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "operationId": "createServicePrincipal", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 120 } }, "required": ["name"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "entityId": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "secret": { "type": "string", "pattern": "^rz_service_[A-Za-z0-9_-]{43}$" }, "controlGrant": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } }, "required": ["id", "entityId", "revision", "secret", "controlGrant"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationService-principals", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/service-principals/{id}/revoke": { "post": { "operationId": "revokeServicePrincipal", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationService-principalsByIdRevoke", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/account/erase": { "post": { "operationId": "eraseOwnAccount", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "state": { "type": "string", "const": "erasing" } }, "required": ["state"], "additionalProperties": false } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationAccountErase", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/participation/entities/{id}/recover": { "post": { "operationId": "recoverEntityController", "tags": ["Participation"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "recipientAuthUserId": { "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)$" }, "expectedRevision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "evidence": { "type": "string", "minLength": 1, "maxLength": 16384 } }, "required": ["recipientAuthUserId", "expectedRevision", "evidence"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "entityId": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "grant": { "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)$" }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["id", "revision"], "additionalProperties": false } }, "required": ["entityId", "revision", "grant"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiParticipationEntitiesByIdRecover", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/execution-control": { "get": { "summary": "Get the Custom Theme execution kill switch", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "updatedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["enabled", "updatedByProfileId", "updatedAt"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCustom-themesExecution-control", "x-rezics-quota-route-operation-id": "getApiCustom-themesExecution-control", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Set the Custom Theme execution kill switch", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "enabled": { "type": "boolean" }, "reason": { "minLength": 1, "maxLength": 2000, "type": "string" } }, "required": ["enabled", "reason"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "updatedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["enabled", "updatedByProfileId", "updatedAt"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiCustom-themesExecution-control", "x-rezics-quota-route-operation-id": "putApiCustom-themesExecution-control", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/": { "post": { "summary": "Create a Custom Theme Unit", "tags": ["Custom Themes"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] } }, "required": ["localization"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "type": "string" }, "title": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["id", "language", "title", "createdAt", "updatedAt"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCustom-themes", "x-rezics-quota-route-operation-id": "postApiCustom-themes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/{themeUnitId}/localizations/{language}": { "put": { "summary": "Create or replace a Custom Theme localization", "tags": ["Custom Themes"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeNotFound", "enum": ["CustomThemeNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["title"] } } } }, "operationId": "putApiCustom-themesByThemeUnitIdLocalizationsByLanguage", "x-rezics-quota-route-operation-id": "putApiCustom-themesByThemeUnitIdLocalizationsByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/review-queue": { "get": { "summary": "List the bounded Custom Theme review queue", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 25, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "customThemeUnitId": { "type": "string", "format": "uuid" }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "manifestSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "sourceArchiveSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "reviewState": { "default": "pending_automated", "enum": [ "pending_automated", "pending_human", "approved", "rejected", "killed", "revalidation_required" ], "type": "string" }, "approvalScope": { "type": "string", "const": "host_unit" }, "approvedHostUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "submittedByProfileId": { "type": "string", "format": "uuid" }, "reviewedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "reviewedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionReason": { "nullable": true, "type": ["string", "null"] }, "killedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "files": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "role": { "default": "manifest", "enum": [ "manifest", "source_archive", "html", "css", "js", "worker", "wasm", "font", "svg", "asset" ], "type": "string" }, "contentType": { "type": "string" }, "sha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "byteLength": { "minimum": 0, "type": "integer" } }, "required": ["path", "role", "contentType", "sha256", "byteLength"] } }, "externalResources": { "type": "array", "items": { "type": "object", "required": [ "resourceKey", "role", "requestedUrl", "finalUrl", "redirectChain", "observedSha256", "observedByteLength", "observedContentType", "observedAt", "corsAllowsAnonymous", "required", "effectiveIntegrity", "integrityWaiverReason" ], "properties": { "resourceKey": { "type": "string", "minLength": 1, "maxLength": 200 }, "role": { "type": "string", "minLength": 1, "maxLength": 64 }, "requestedUrl": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "finalUrl": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "redirectChain": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "maxItems": 6 }, "observedSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "observedByteLength": { "type": "integer", "minimum": 0, "maximum": 5242880 }, "observedContentType": { "type": "string", "minLength": 1, "maxLength": 255 }, "observedAt": { "type": "string", "format": "date-time" }, "corsAllowsAnonymous": { "type": "boolean" }, "required": { "type": "boolean" }, "effectiveIntegrity": { "type": ["string", "null"], "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": ["string", "null"], "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false, "$id": "ReviewedExternalResourceV0" } }, "reviewEvidence": { "nullable": true, "type": ["object", "null"], "patternProperties": { "^(.*)$": {} } } }, "required": [ "id", "customThemeUnitId", "targetContract", "executionMode", "resourceMode", "manifest", "manifestSha256", "sourceArchiveSha256", "reviewState", "approvalScope", "approvedHostUnitId", "submittedByProfileId", "reviewedByProfileId", "reviewedAt", "decisionReason", "killedAt", "createdAt", "updatedAt", "files", "externalResources", "reviewEvidence" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCustom-themesReview-queue", "x-rezics-quota-route-operation-id": "getApiCustom-themesReview-queue", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/{themeUnitId}/revisions": { "get": { "summary": "List immutable Custom Theme revisions", "tags": ["Custom Themes"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 25, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "customThemeUnitId": { "type": "string", "format": "uuid" }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "manifestSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "sourceArchiveSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "reviewState": { "default": "pending_automated", "enum": [ "pending_automated", "pending_human", "approved", "rejected", "killed", "revalidation_required" ], "type": "string" }, "approvalScope": { "type": "string", "const": "host_unit" }, "approvedHostUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "submittedByProfileId": { "type": "string", "format": "uuid" }, "reviewedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "reviewedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionReason": { "nullable": true, "type": ["string", "null"] }, "killedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "customThemeUnitId", "targetContract", "executionMode", "resourceMode", "manifest", "manifestSha256", "sourceArchiveSha256", "reviewState", "approvalScope", "approvedHostUnitId", "submittedByProfileId", "reviewedByProfileId", "reviewedAt", "decisionReason", "killedAt", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeNotFound", "enum": ["CustomThemeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCustom-themesByThemeUnitIdRevisions", "x-rezics-quota-route-operation-id": "getApiCustom-themesByThemeUnitIdRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Submit an immutable Custom Theme revision", "tags": ["Custom Themes"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "sourceArchive": { "additionalProperties": false, "type": "object", "properties": { "contentType": { "minLength": 1, "maxLength": 255, "type": "string" }, "contentBase64": { "maxLength": 27962028, "type": "string" } }, "required": ["contentType", "contentBase64"] }, "files": { "maxItems": 256, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "path": { "minLength": 1, "maxLength": 512, "type": "string" }, "role": { "default": "html", "enum": ["html", "css", "js", "worker", "wasm", "font", "svg", "asset"], "type": "string" }, "contentType": { "minLength": 1, "maxLength": 255, "type": "string" }, "contentBase64": { "maxLength": 6990508, "type": "string" } }, "required": ["path", "role", "contentType", "contentBase64"] } } }, "required": ["manifest", "sourceArchive", "files"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "customThemeUnitId": { "type": "string", "format": "uuid" }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "manifestSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "sourceArchiveSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "reviewState": { "default": "pending_automated", "enum": [ "pending_automated", "pending_human", "approved", "rejected", "killed", "revalidation_required" ], "type": "string" }, "approvalScope": { "type": "string", "const": "host_unit" }, "approvedHostUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "submittedByProfileId": { "type": "string", "format": "uuid" }, "reviewedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "reviewedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionReason": { "nullable": true, "type": ["string", "null"] }, "killedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "customThemeUnitId", "targetContract", "executionMode", "resourceMode", "manifest", "manifestSha256", "sourceArchiveSha256", "reviewState", "approvalScope", "approvedHostUnitId", "submittedByProfileId", "reviewedByProfileId", "reviewedAt", "decisionReason", "killedAt", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeNotFound", "enum": ["CustomThemeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemePackageInvalid", "enum": ["CustomThemePackageInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeSubmissionBackpressure", "enum": ["CustomThemeSubmissionBackpressure"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiCustom-themesByThemeUnitIdRevisions", "x-rezics-quota-route-operation-id": "postApiCustom-themesByThemeUnitIdRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/{themeUnitId}/revisions/{revisionId}/decision": { "post": { "summary": "Approve or reject a Custom Theme revision", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "decision": { "type": "string", "const": "approve" }, "hostUnitId": { "type": "string", "format": "uuid" }, "reason": { "minLength": 1, "maxLength": 2000, "type": "string" }, "owner": { "type": "string", "minLength": 1, "maxLength": 500 }, "incidentContact": { "type": "string", "minLength": 1, "maxLength": 500 }, "licenseFindings": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 1000 }, "maxItems": 64 }, "acknowledgedRisks": { "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 500 }, "minItems": 1, "maxItems": 32 } }, "required": [ "decision", "hostUnitId", "owner", "incidentContact", "licenseFindings", "acknowledgedRisks" ] }, { "additionalProperties": false, "type": "object", "properties": { "decision": { "type": "string", "const": "reject" }, "reason": { "minLength": 1, "maxLength": 2000, "type": "string" } }, "required": ["decision", "reason"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "customThemeUnitId": { "type": "string", "format": "uuid" }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "manifestSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "sourceArchiveSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "reviewState": { "default": "pending_automated", "enum": [ "pending_automated", "pending_human", "approved", "rejected", "killed", "revalidation_required" ], "type": "string" }, "approvalScope": { "type": "string", "const": "host_unit" }, "approvedHostUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "submittedByProfileId": { "type": "string", "format": "uuid" }, "reviewedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "reviewedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionReason": { "nullable": true, "type": ["string", "null"] }, "killedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "customThemeUnitId", "targetContract", "executionMode", "resourceMode", "manifest", "manifestSha256", "sourceArchiveSha256", "reviewState", "approvalScope", "approvedHostUnitId", "submittedByProfileId", "reviewedByProfileId", "reviewedAt", "decisionReason", "killedAt", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": [ "PlatformCapabilityRequired", "CustomThemeReviewerSeparationRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeRevisionNotFound", "enum": ["CustomThemeRevisionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeRevisionStateConflict", "enum": ["CustomThemeRevisionStateConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeReviewEvidenceInvalid", "enum": [ "CustomThemeReviewEvidenceInvalid", "CustomThemeInstallationInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCustom-themesByThemeUnitIdRevisionsByRevisionIdDecision", "x-rezics-quota-route-operation-id": "postApiCustom-themesByThemeUnitIdRevisionsByRevisionIdDecision", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/{themeUnitId}/revisions/{revisionId}/kill": { "post": { "summary": "Emergency-disable a Custom Theme revision", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "reason": { "minLength": 1, "maxLength": 2000, "type": "string" } }, "required": ["reason"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "customThemeUnitId": { "type": "string", "format": "uuid" }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "manifest": { "type": "object", "required": [ "schemaVersion", "targetContract", "executionMode", "resourceMode", "fragments", "styles", "scripts", "declaredRuntimeOrigins" ], "properties": { "schemaVersion": { "type": "number", "const": 0 }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "executionMode": { "type": "string", "const": "host_full_trust" }, "resourceMode": { "type": "string", "const": "external_live" }, "fragments": { "type": "array", "items": { "type": "object", "required": ["slot", "source"], "properties": { "slot": { "type": "string", "enum": ["header.append", "footer.append"] }, "source": { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false } }, "additionalProperties": false }, "maxItems": 2 }, "styles": { "type": "array", "items": { "type": "object", "required": ["source", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "media": { "type": "string", "minLength": 1, "maxLength": 500 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "scripts": { "type": "array", "items": { "type": "object", "required": ["source", "role", "order", "required"], "properties": { "source": { "anyOf": [ { "type": "object", "required": ["kind", "path"], "properties": { "kind": { "type": "string", "const": "packaged" }, "path": { "type": "string", "minLength": 1, "maxLength": 512 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "url"], "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string", "minLength": 9, "maxLength": 2048, "pattern": "^https://" }, "integrity": { "type": "string", "minLength": 1, "maxLength": 500, "pattern": "^(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2}(?:\\s+(?:sha256|sha384|sha512)-[A-Za-z0-9+/]+={0,2})*$" }, "integrityWaiverReason": { "type": "string", "minLength": 1, "maxLength": 2000 } }, "additionalProperties": false } ] }, "role": { "type": "string", "enum": ["classic_dependency", "module_entry"] }, "order": { "type": "integer", "minimum": 0, "maximum": 31 }, "required": { "type": "boolean" } }, "additionalProperties": false }, "maxItems": 32 }, "declaredRuntimeOrigins": { "type": "object", "required": ["connect", "image", "font", "frame", "media"], "properties": { "connect": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "image": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "font": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "frame": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true }, "media": { "type": "array", "items": { "type": "string", "minLength": 9, "maxLength": 300, "pattern": "^https://" }, "maxItems": 32, "uniqueItems": true } }, "additionalProperties": false } }, "additionalProperties": false, "$id": "SubmittedCustomThemeManifestV0" }, "manifestSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "sourceArchiveSha256": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "reviewState": { "default": "pending_automated", "enum": [ "pending_automated", "pending_human", "approved", "rejected", "killed", "revalidation_required" ], "type": "string" }, "approvalScope": { "type": "string", "const": "host_unit" }, "approvedHostUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "submittedByProfileId": { "type": "string", "format": "uuid" }, "reviewedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "reviewedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "decisionReason": { "nullable": true, "type": ["string", "null"] }, "killedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "customThemeUnitId", "targetContract", "executionMode", "resourceMode", "manifest", "manifestSha256", "sourceArchiveSha256", "reviewState", "approvalScope", "approvedHostUnitId", "submittedByProfileId", "reviewedByProfileId", "reviewedAt", "decisionReason", "killedAt", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeRevisionNotFound", "enum": ["CustomThemeRevisionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeRevisionStateConflict", "enum": ["CustomThemeRevisionStateConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCustom-themesByThemeUnitIdRevisionsByRevisionIdKill", "x-rezics-quota-route-operation-id": "postApiCustom-themesByThemeUnitIdRevisionsByRevisionIdKill", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/{themeUnitId}/revisions/{revisionId}/reference-render-artifacts/{screenshotAssetId}": { "get": { "summary": "Resolve a private Custom Theme reference-render artifact", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "screenshotAssetId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "302": { "description": "Response for status 302" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeRevisionNotFound", "enum": ["CustomThemeRevisionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCustom-themesByThemeUnitIdRevisionsByRevisionIdReference-render-artifactsByScreenshotAssetId", "x-rezics-quota-route-operation-id": "getApiCustom-themesByThemeUnitIdRevisionsByRevisionIdReference-render-artifactsByScreenshotAssetId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/custom-themes/{themeUnitId}/revisions/{revisionId}/file": { "get": { "summary": "Read an executable packaged Custom Theme file", "tags": ["Custom Themes"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "themeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "path", "in": "query", "required": true, "schema": { "minLength": 1, "maxLength": 512, "type": "string" } }, { "name": "hostUnitId", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeInstallationInvalid", "enum": ["CustomThemeInstallationInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCustom-themesByThemeUnitIdRevisionsByRevisionIdFile", "x-rezics-quota-route-operation-id": "getApiCustom-themesByThemeUnitIdRevisionsByRevisionIdFile", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/presentation": { "get": { "summary": "Resolve a Unit presentation for the current viewer", "tags": ["Unit Presentations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "safeMode", "in": "query", "required": false, "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResolvedUnitPresentationResponse" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPresentationHostUnsupported", "enum": ["UnitPresentationHostUnsupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdPresentation", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdPresentation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace the Unit-owned presentation document", "tags": ["Unit Presentations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "document": { "$ref": "#/components/schemas/UnitPresentationDocumentV0" } }, "required": ["expectedRevisionId", "document"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnitPresentationResponse" } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPresentationHostUnsupported", "enum": ["UnitPresentationHostUnsupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPresentationRevisionConflict", "enum": ["UnitPresentationRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiUnitsBy-idByUnitIdPresentation", "x-rezics-quota-route-operation-id": "putApiUnitsBy-idByUnitIdPresentation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/presentation-policy": { "get": { "summary": "Resolve request-boundary presentation policy", "tags": ["Unit Presentations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "safeMode", "in": "query", "required": false, "schema": { "default": false, "type": "boolean" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scriptOrigins": { "type": "array", "items": { "type": "string" } }, "styleOrigins": { "type": "array", "items": { "type": "string" } }, "connectOrigins": { "type": "array", "items": { "type": "string" } }, "imageOrigins": { "type": "array", "items": { "type": "string" } }, "fontOrigins": { "type": "array", "items": { "type": "string" } }, "frameOrigins": { "type": "array", "items": { "type": "string" } }, "mediaOrigins": { "type": "array", "items": { "type": "string" } } }, "required": [ "revisionId", "scriptOrigins", "styleOrigins", "connectOrigins", "imageOrigins", "fontOrigins", "frameOrigins", "mediaOrigins" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPresentationHostUnsupported", "enum": ["UnitPresentationHostUnsupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdPresentation-policy", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdPresentation-policy", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/presentation-document": { "get": { "summary": "Get the Unit-owned presentation document", "tags": ["Unit Presentations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnitPresentationResponse" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPresentationHostUnsupported", "enum": ["UnitPresentationHostUnsupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdPresentation-document", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdPresentation-document", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/custom-theme-installation": { "put": { "summary": "Install one exact Custom Theme revision", "tags": ["Unit Presentations"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionId": { "type": "string", "format": "uuid" } }, "required": ["revisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "hostUnitId": { "type": "string", "format": "uuid" }, "targetContract": { "type": "string", "const": "rezics.unit.presentation@0" }, "revisionId": { "type": "string", "format": "uuid" }, "installedByProfileId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "hostUnitId", "targetContract", "revisionId", "installedByProfileId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeRevisionNotFound", "enum": [ "CustomThemeRevisionNotFound", "UnitPresentationHostUnsupported" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CustomThemeInstallationInvalid", "enum": ["CustomThemeInstallationInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiUnitsBy-idByUnitIdCustom-theme-installation", "x-rezics-quota-route-operation-id": "putApiUnitsBy-idByUnitIdCustom-theme-installation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove the installed Custom Theme revision", "tags": ["Unit Presentations"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPresentationHostUnsupported", "enum": ["UnitPresentationHostUnsupported"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiUnitsBy-idByUnitIdCustom-theme-installation", "x-rezics-quota-route-operation-id": "deleteApiUnitsBy-idByUnitIdCustom-theme-installation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-access/custom-theme-external-live/accounts": { "get": { "summary": "List or search Profiles for Custom Theme external-live access", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "query", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 200, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "email": { "type": "string", "format": "email" }, "grant": { "nullable": true, "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "const": "permanent" }, "expiresAt": { "type": "null" } }, "required": [ "id", "grantedByAuthUserId", "createdAt", "updatedAt", "state", "expiresAt" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "default": "granted", "enum": ["granted", "expired"], "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "grantedByAuthUserId", "createdAt", "updatedAt", "state", "expiresAt" ] } ] }, { "type": "null" } ] }, "revision": { "minLength": 1, "type": "string" } }, "required": ["authUserId", "name", "email", "grant", "revision"] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-accessCustom-theme-external-liveAccounts", "x-rezics-quota-route-operation-id": "getApiPlatform-accessCustom-theme-external-liveAccounts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-access/accounts/{authUserId}/custom-theme-external-live-access": { "get": { "summary": "Get one Profile's Custom Theme external-live access", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "authUserId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "email": { "type": "string", "format": "email" }, "grant": { "nullable": true, "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "const": "permanent" }, "expiresAt": { "type": "null" } }, "required": [ "id", "grantedByAuthUserId", "createdAt", "updatedAt", "state", "expiresAt" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "default": "granted", "enum": ["granted", "expired"], "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "grantedByAuthUserId", "createdAt", "updatedAt", "state", "expiresAt" ] } ] }, { "type": "null" } ] }, "revision": { "minLength": 1, "type": "string" } }, "required": ["authUserId", "name", "email", "grant", "revision"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-accessAccountsByAuthUserIdCustom-theme-external-live-access", "x-rezics-quota-route-operation-id": "getApiPlatform-accessAccountsByAuthUserIdCustom-theme-external-live-access", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Grant, renew, or revoke Custom Theme external-live access", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "authUserId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minLength": 1, "type": "string" }, "state": { "type": "string", "const": "granted" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": ["expectedRevision", "state", "expiresAt"] }, { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minLength": 1, "type": "string" }, "state": { "type": "string", "const": "revoked" } }, "required": ["expectedRevision", "state"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "email": { "type": "string", "format": "email" }, "grant": { "nullable": true, "anyOf": [ { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "type": "string", "const": "permanent" }, "expiresAt": { "type": "null" } }, "required": [ "id", "grantedByAuthUserId", "createdAt", "updatedAt", "state", "expiresAt" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "state": { "default": "granted", "enum": ["granted", "expired"], "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "grantedByAuthUserId", "createdAt", "updatedAt", "state", "expiresAt" ] } ] }, { "type": "null" } ] }, "revision": { "minLength": 1, "type": "string" } }, "required": ["authUserId", "name", "email", "grant", "revision"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CapabilityGrantExpiryInvalid", "enum": ["CapabilityGrantExpiryInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": [ "PlatformCapabilityRequired", "FreshSessionRequired", "CustomThemeExternalLiveAccessSelfMutationForbidden", "PlatformAccessConfigurationInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformAccessRevisionConflict", "enum": ["PlatformAccessRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiPlatform-accessAccountsByAuthUserIdCustom-theme-external-live-access", "x-rezics-quota-route-operation-id": "putApiPlatform-accessAccountsByAuthUserIdCustom-theme-external-live-access", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-access/policy": { "get": { "summary": "Get the platform access policy", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "capabilities": { "uniqueItems": true, "type": "array", "items": { "default": "platform.access.read", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ], "type": "string" } } }, "required": ["capabilities"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-accessPolicy", "x-rezics-quota-route-operation-id": "getApiPlatform-accessPolicy", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-access/accounts": { "get": { "summary": "List or search Profiles and their platform access", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "query", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 200, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "email": { "type": "string", "format": "email" }, "grants": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "capability": { "default": "platform.access.read", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ], "type": "string" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "capability", "grantedByAuthUserId", "expiresAt", "createdAt", "updatedAt" ] } }, "revision": { "minLength": 1, "type": "string" } }, "required": ["authUserId", "name", "email", "grants", "revision"] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-accessAccounts", "x-rezics-quota-route-operation-id": "getApiPlatform-accessAccounts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-access/accounts/{authUserId}": { "get": { "summary": "Get one Profile's platform access", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "authUserId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "email": { "type": "string", "format": "email" }, "grants": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "capability": { "default": "platform.access.read", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ], "type": "string" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "capability", "grantedByAuthUserId", "expiresAt", "createdAt", "updatedAt" ] } }, "revision": { "minLength": 1, "type": "string" } }, "required": ["authUserId", "name", "email", "grants", "revision"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-accessAccountsByAuthUserId", "x-rezics-quota-route-operation-id": "getApiPlatform-accessAccountsByAuthUserId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace one Profile's platform access", "tags": ["Platform access"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "authUserId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minLength": 1, "type": "string" }, "grants": { "maxItems": 46, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "capability": { "default": "platform.access.read", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ], "type": "string" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": ["capability", "expiresAt"] } } }, "required": ["expectedRevision", "grants"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] }, "email": { "type": "string", "format": "email" }, "grants": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "capability": { "default": "platform.access.read", "enum": [ "platform.access.read", "platform.access.manage", "platform.audit.read", "platform.user.read", "platform.user.status.update", "platform.session.read", "platform.session.revoke", "entity.associations.override", "catalog.definition.manage", "unit.edit", "platform.development_preview.access", "platform.custom_theme.external_live.access", "platform.custom_theme.external_live.access.manage", "platform.custom_theme.review", "platform.custom_theme.kill", "unit.governance.read", "unit.merge.propose", "unit.merge.review", "unit.merge", "unit.ownership.override", "unit.license.manage", "unit.delete", "unit.restore", "unit.slug.manage", "unit.slug.namespace.manage", "unit.slug.redirect.release", "platform.api_quota_policy.read", "platform.api_quota_policy.update", "platform.user.api_quota.read", "platform.user.api_quota.update", "platform.user.api_token.api_quota.read", "platform.user.api_token.api_quota.update", "platform.moderate", "platform.suppress", "realm.contribute", "realm.units.create", "realm.post.replies.create", "realm.settings.update", "realm.members.read", "realm.members.manage", "realm.rules.update", "realm.pins.manage", "realm.tags.manage", "realm.tag-voting.update", "realm.tag-contexts.manage", "realm.units.moderate" ], "type": "string" }, "grantedByAuthUserId": { "type": "string", "format": "uuid" }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "capability", "grantedByAuthUserId", "expiresAt", "createdAt", "updatedAt" ] } }, "revision": { "minLength": 1, "type": "string" } }, "required": ["authUserId", "name", "email", "grants", "revision"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CapabilityGrantExpiryInvalid", "enum": [ "CapabilityGrantExpiryInvalid", "PlatformAccessConfigurationInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "FreshSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformAccessManagerRequired", "enum": [ "PlatformAccessManagerRequired", "PlatformAccessRevisionConflict" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiPlatform-accessAccountsByAuthUserId", "x-rezics-quota-route-operation-id": "putApiPlatform-accessAccountsByAuthUserId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-users": { "get": { "summary": "List platform users", "tags": ["Platform Users"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 500, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } }, { "name": "search", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 200, "type": "string" } }, { "name": "state", "in": "query", "required": false, "schema": { "default": "active", "enum": ["active", "suspended", "closed"], "type": "string" } }, { "name": "emailVerified", "in": "query", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "entityId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "name": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "boolean" }, "accountState": { "type": "object", "properties": { "state": { "default": "active", "enum": ["active", "suspended", "closed"], "type": "string" }, "governanceDecisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "note": { "nullable": true, "type": ["string", "null"] }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "revision": { "minimum": 0, "type": "integer" }, "updatedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "state", "governanceDecisionId", "note", "expiresAt", "revision", "updatedAt", "updatedByAuthUserId" ] }, "activeSessionCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "userId", "entityId", "name", "email", "emailVerified", "accountState", "activeSessionCount", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired", "InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AccountSuspended", "enum": [ "AccountSuspended", "AccountClosed", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-users", "x-rezics-quota-route-operation-id": "getApiPlatform-users", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-users/{userId}": { "get": { "summary": "Get one platform user", "tags": ["Platform Users"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "entityId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "name": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "boolean" }, "accountState": { "type": "object", "properties": { "state": { "default": "active", "enum": ["active", "suspended", "closed"], "type": "string" }, "governanceDecisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "note": { "nullable": true, "type": ["string", "null"] }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "revision": { "minimum": 0, "type": "integer" }, "updatedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "state", "governanceDecisionId", "note", "expiresAt", "revision", "updatedAt", "updatedByAuthUserId" ] }, "activeSessionCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "userId", "entityId", "name", "email", "emailVerified", "accountState", "activeSessionCount", "createdAt", "updatedAt" ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired", "InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AccountSuspended", "enum": [ "AccountSuspended", "AccountClosed", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-usersByUserId", "x-rezics-quota-route-operation-id": "getApiPlatform-usersByUserId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-users/{userId}/account-state": { "put": { "summary": "Replace a platform user account state", "tags": ["Platform Users"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "state": { "type": "string", "const": "active" } }, "required": ["expectedRevision", "rules", "state"] }, { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "state": { "type": "string", "const": "suspended" }, "note": { "minLength": 1, "maxLength": 2000, "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" } }, "required": ["expectedRevision", "rules", "state"] }, { "additionalProperties": false, "type": "object", "properties": { "expectedRevision": { "minimum": 0, "type": "integer" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "state": { "type": "string", "const": "closed" }, "note": { "minLength": 1, "maxLength": 2000, "type": "string" } }, "required": ["expectedRevision", "rules", "state"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "state": { "default": "active", "enum": ["active", "suspended", "closed"], "type": "string" }, "governanceDecisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "note": { "nullable": true, "type": ["string", "null"] }, "expiresAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "revision": { "minimum": 0, "type": "integer" }, "updatedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedByAuthUserId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "state", "governanceDecisionId", "note", "expiresAt", "revision", "updatedAt", "updatedByAuthUserId" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceRuleSourceForbidden", "enum": ["GovernanceRuleSourceForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired", "InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AccountSuspended", "enum": [ "AccountSuspended", "AccountClosed", "FreshSessionRequired", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserAccountStateRevisionConflict", "enum": [ "UserAccountStateRevisionConflict", "UserSelfStatusChangeForbidden", "PlatformUserManagerRequired", "GovernanceRuleChanged" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserAccountStateExpiryInvalid", "enum": ["UserAccountStateExpiryInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiPlatform-usersByUserIdAccount-state", "x-rezics-quota-route-operation-id": "putApiPlatform-usersByUserIdAccount-state", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-users/{userId}/sessions": { "get": { "summary": "List a platform user's sessions", "tags": ["Platform Users"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "expiresAt": { "type": "string", "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "ipAddress": { "nullable": true, "type": ["string", "null"] }, "userAgent": { "nullable": true, "type": ["string", "null"] }, "current": { "type": "boolean" } }, "required": [ "id", "expiresAt", "createdAt", "updatedAt", "ipAddress", "userAgent", "current" ] } } }, "required": ["items"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired", "InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AccountSuspended", "enum": [ "AccountSuspended", "AccountClosed", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPlatform-usersByUserIdSessions", "x-rezics-quota-route-operation-id": "getApiPlatform-usersByUserIdSessions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Revoke all platform user sessions", "tags": ["Platform Users"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revokedCount": { "minimum": 0, "type": "integer" } }, "required": ["revokedCount"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired", "InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AccountSuspended", "enum": [ "AccountSuspended", "AccountClosed", "FreshSessionRequired", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UserNotFound", "enum": ["UserNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiPlatform-usersByUserIdSessions", "x-rezics-quota-route-operation-id": "deleteApiPlatform-usersByUserIdSessions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/platform-users/{userId}/sessions/{sessionId}": { "delete": { "summary": "Revoke a platform user session", "tags": ["Platform Users"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revokedCount": { "minimum": 0, "type": "integer" } }, "required": ["revokedCount"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired", "InteractiveSessionRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AccountSuspended", "enum": [ "AccountSuspended", "AccountClosed", "FreshSessionRequired", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SessionNotFound", "enum": ["SessionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiPlatform-usersByUserIdSessionsBySessionId", "x-rezics-quota-route-operation-id": "deleteApiPlatform-usersByUserIdSessionsBySessionId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags/suggestions": { "get": { "summary": "Suggest explicit Tag Expressions and Path Senses", "tags": ["Tags"], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "minLength": 1, "maxLength": 80, "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 20, "default": 10, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "selection": { "type": "string", "const": "direct_expression" }, "selectionKey": { "pattern": "^expression:[0-9a-f-]{36}$", "type": "string" }, "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "senseId": { "type": "null" }, "pathId": { "type": "null" }, "members": { "maxItems": 0, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "usageCount": { "minimum": 0, "type": "integer" }, "match": { "type": "object", "properties": { "kind": { "type": "string", "enum": ["exact", "prefix", "token", "fuzzy"] }, "source": { "type": "string", "enum": ["direct_tag", "expression_component", "path_member"] }, "tagId": { "type": "string", "format": "uuid" } }, "required": ["kind", "source", "tagId"] } }, "required": [ "selection", "selectionKey", "expression", "senseId", "pathId", "members", "usageCount", "match" ] }, { "type": "object", "properties": { "selection": { "type": "string", "const": "path_sense" }, "selectionKey": { "pattern": "^sense:[0-9a-f-]{36}$", "type": "string" }, "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "senseId": { "type": "string", "format": "uuid" }, "pathId": { "type": "string", "format": "uuid" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "usageCount": { "minimum": 0, "type": "integer" }, "match": { "type": "object", "properties": { "kind": { "type": "string", "enum": ["exact", "prefix", "token", "fuzzy"] }, "source": { "type": "string", "enum": ["direct_tag", "expression_component", "path_member"] }, "tagId": { "type": "string", "format": "uuid" } }, "required": ["kind", "source", "tagId"] } }, "required": [ "selection", "selectionKey", "expression", "senseId", "pathId", "members", "usageCount", "match" ] } ] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTagsSuggestions", "x-rezics-quota-route-operation-id": "getApiTagsSuggestions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags/{tagId}/expressions": { "get": { "summary": "List direct, qualified, and inferred Expression uses of a Tag", "tags": ["Tags"], "parameters": [ { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "directExpression": { "nullable": true, "type": ["object", "null"], "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "qualifiedExpressions": { "type": "array", "items": { "type": "object", "properties": { "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "roles": { "uniqueItems": true, "type": "array", "items": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" } } }, "required": ["expression", "roles"] } }, "inferredReach": { "type": "array", "items": { "type": "object", "properties": { "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "evidenceKind": { "type": "string", "enum": ["entailed", "retrieval_only"] } }, "required": ["expression", "evidenceKind"] } } }, "required": ["directExpression", "qualifiedExpressions", "inferredReach"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTagsByTagIdExpressions", "x-rezics-quota-route-operation-id": "getApiTagsByTagIdExpressions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags/{tagId}/hierarchy": { "get": { "summary": "Get typed child relations for a Tag", "tags": ["Tags"], "parameters": [ { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "childLimit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } }, { "name": "grandchildLimit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 12, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "children": { "type": "array", "items": { "type": "object", "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" }, "node": { "type": "object", "properties": { "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "nodeId", "nodeKind", "language", "title", "summary", "avatar" ] }, "children": { "type": "array", "items": { "type": "object", "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" }, "node": { "type": "object", "properties": { "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "nodeId", "nodeKind", "language", "title", "summary", "avatar" ] } }, "required": ["relationId", "relationKind", "node"] } } }, "required": ["relationId", "relationKind", "node", "children"] } } }, "required": ["tagId", "children"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagNotFound", "enum": ["TagNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTagsByTagIdHierarchy", "x-rezics-quota-route-operation-id": "getApiTagsByTagIdHierarchy", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags/{tagId}/paths": { "get": { "summary": "List accepted structural Paths containing a Tag", "tags": ["Tags"], "parameters": [ { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "pathId": { "type": "string", "format": "uuid" }, "usageCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } } }, "required": ["pathId", "usageCount", "score", "voteCount", "members"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTagsByTagIdPaths", "x-rezics-quota-route-operation-id": "getApiTagsByTagIdPaths", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-expressions": { "post": { "summary": "Create an immutable Tag Expression", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "canonicalClaimKey": { "minLength": 1, "maxLength": 2048, "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "arguments": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "role": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "ordinal": { "minimum": 0, "type": "integer" }, "tagId": { "type": "string", "format": "uuid" } }, "required": ["role", "ordinal", "tagId"] } }, "labelComponents": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" } }, "required": ["tagId", "semanticRole", "componentKind"] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" } }, "required": ["tagId", "semanticRole"] } }, "required": [ "expressionKind", "canonicalClaimKey", "focusTagId", "arguments", "labelComponents", "groupKey" ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" }, "presentationRevision": { "minimum": 1, "type": "integer" } }, "required": ["expressionId", "created", "presentationRevision"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-expressions", "x-rezics-quota-route-operation-id": "postApiTag-expressions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-expressions/{expressionId}/inference-rules": { "post": { "summary": "Add a governed Tag Expression inference rule", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "expressionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "targetTagId": { "type": "string", "format": "uuid" }, "targetExpressionId": { "type": "string", "format": "uuid" }, "inferenceKind": { "default": "entailed", "enum": ["entailed", "retrieval_only"], "type": "string" }, "provenance": { "type": "object", "patternProperties": { "^(.*)$": {} } } }, "required": ["inferenceKind"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "ruleId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" } }, "required": ["ruleId", "created"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-expressionsByExpressionIdInference-rules", "x-rezics-quota-route-operation-id": "postApiTag-expressionsByExpressionIdInference-rules", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-expressions/{expressionId}/inference-rules/{ruleId}": { "delete": { "summary": "Retire a Tag Expression inference-rule revision", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "expressionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "ruleId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "ruleId": { "type": "string", "format": "uuid" }, "retired": { "type": "boolean" } }, "required": ["ruleId", "retired"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiTag-expressionsByExpressionIdInference-rulesByRuleId", "x-rezics-quota-route-operation-id": "deleteApiTag-expressionsByExpressionIdInference-rulesByRuleId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-relations": { "post": { "summary": "Create or find a typed vocabulary relation", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "parentNodeId": { "type": "string", "format": "uuid" }, "childNodeId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": ["generic", "partitive", "instance", "organizational", "facet_value"], "type": "string" }, "provenance": { "type": "object", "patternProperties": { "^(.*)$": {} } } }, "required": ["parentNodeId", "childNodeId", "relationKind"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "relationId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" }, "revision": { "minimum": 1, "type": "integer" } }, "required": ["relationId", "created", "revision"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagNotFound", "enum": ["TagNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-relations", "x-rezics-quota-route-operation-id": "postApiTag-relations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/definition-warnings": { "post": { "summary": "Check related structural Path definitions", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "memberNodeIds": { "minItems": 2, "maxItems": 16, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "relationIds": { "minItems": 1, "maxItems": 15, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "limit": { "minimum": 1, "maximum": 20, "default": 10, "type": "integer" } }, "required": ["memberNodeIds", "relationIds"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "pathId": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "enum": ["exact", "same_terminal"] }, "usageCount": { "minimum": 0, "type": "integer" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } } }, "required": ["pathId", "kind", "usageCount", "members"] } } }, "required": ["items"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-pathsDefinition-warnings", "x-rezics-quota-route-operation-id": "postApiTag-pathsDefinition-warnings", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/{pathId}/senses/{senseId}": { "delete": { "summary": "Retire an immutable Path Sense", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "senseId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "retired": { "type": "boolean" } }, "required": ["senseId", "retired"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiTag-pathsByPathIdSensesBySenseId", "x-rezics-quota-route-operation-id": "deleteApiTag-pathsByPathIdSensesBySenseId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/search": { "get": { "summary": "Search explicit Path Senses for curation", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "q", "in": "query", "required": true, "schema": { "minLength": 1, "maxLength": 80, "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 20, "default": 10, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "selection": { "type": "string", "const": "direct_expression" }, "selectionKey": { "pattern": "^expression:[0-9a-f-]{36}$", "type": "string" }, "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "senseId": { "type": "null" }, "pathId": { "type": "null" }, "members": { "maxItems": 0, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "usageCount": { "minimum": 0, "type": "integer" }, "match": { "type": "object", "properties": { "kind": { "type": "string", "enum": ["exact", "prefix", "token", "fuzzy"] }, "source": { "type": "string", "enum": ["direct_tag", "expression_component", "path_member"] }, "tagId": { "type": "string", "format": "uuid" } }, "required": ["kind", "source", "tagId"] } }, "required": [ "selection", "selectionKey", "expression", "senseId", "pathId", "members", "usageCount", "match" ] }, { "type": "object", "properties": { "selection": { "type": "string", "const": "path_sense" }, "selectionKey": { "pattern": "^sense:[0-9a-f-]{36}$", "type": "string" }, "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "senseId": { "type": "string", "format": "uuid" }, "pathId": { "type": "string", "format": "uuid" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "usageCount": { "minimum": 0, "type": "integer" }, "match": { "type": "object", "properties": { "kind": { "type": "string", "enum": ["exact", "prefix", "token", "fuzzy"] }, "source": { "type": "string", "enum": ["direct_tag", "expression_component", "path_member"] }, "tagId": { "type": "string", "format": "uuid" } }, "required": ["kind", "source", "tagId"] } }, "required": [ "selection", "selectionKey", "expression", "senseId", "pathId", "members", "usageCount", "match" ] } ] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTag-pathsSearch", "x-rezics-quota-route-operation-id": "getApiTag-pathsSearch", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths": { "post": { "summary": "Create or find an immutable structural Tag Path", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "memberNodeIds": { "minItems": 2, "maxItems": 16, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "relationIds": { "minItems": 1, "maxItems": 15, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": ["memberNodeIds", "relationIds"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "pathId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" } }, "required": ["pathId", "created"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagNotFound", "enum": ["TagNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-paths", "x-rezics-quota-route-operation-id": "postApiTag-paths", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/{pathId}": { "get": { "summary": "Get Path structure and explicit Senses", "tags": ["Tags"], "parameters": [ { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "pathId": { "type": "string", "format": "uuid" }, "structuralIdentityHash": { "pattern": "^[0-9a-f]{64}$", "type": "string" }, "terminalNodeId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "type": "string", "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "usageCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "mergedIntoPathId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "senses": { "type": "array", "items": { "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "expressionId": { "type": "string", "format": "uuid" }, "scope": { "default": "global", "enum": ["global", "realm"], "type": "string" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realmLanguage": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "bindingSignature": { "type": "string" }, "status": { "type": "string", "enum": ["active", "retired"] }, "bindings": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "memberOrdinal": { "minimum": 0, "type": "integer" }, "argumentRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "argumentOrdinal": { "minimum": 0, "type": "integer" } }, "required": ["memberOrdinal", "argumentRole", "argumentOrdinal"] } }, "expression": { "nullable": true, "type": ["object", "null"], "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "inferenceRules": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "ruleId": { "type": "string", "format": "uuid" }, "inferenceKind": { "default": "entailed", "enum": ["entailed", "retrieval_only"], "type": "string" }, "revision": { "minimum": 1, "type": "integer" }, "status": { "type": "string", "enum": ["active", "retired"] }, "provenance": { "nullable": true, "type": ["object", "null"], "patternProperties": { "^(.*)$": {} } }, "createdAt": { "type": "string", "format": "date-time" }, "target": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "tag" }, "tagId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "tagId", "language", "title"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "expression" }, "expressionId": { "type": "string", "format": "uuid" }, "expression": { "nullable": true, "type": ["object", "null"], "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["kind", "expressionId", "expression"] } ] } }, "required": [ "ruleId", "inferenceKind", "revision", "status", "provenance", "createdAt", "target" ] } } }, "required": [ "senseId", "expressionId", "scope", "realmId", "realmLanguage", "realmTitle", "bindingSignature", "status", "bindings", "expression", "inferenceRules" ] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "pathId", "structuralIdentityHash", "terminalNodeId", "createdByProfileId", "score", "voteCount", "usageCount", "viewerVote", "mergedIntoPathId", "members", "senses", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTag-pathsByPathId", "x-rezics-quota-route-operation-id": "getApiTag-pathsByPathId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/{pathId}/senses": { "post": { "summary": "Create an explicit Path Sense", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "expressionId": { "type": "string", "format": "uuid" }, "scope": { "default": "global", "enum": ["global", "realm"], "type": "string" }, "realmId": { "type": "string", "format": "uuid" }, "bindings": { "minItems": 1, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "memberOrdinal": { "minimum": 0, "type": "integer" }, "argumentRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "argumentOrdinal": { "minimum": 0, "type": "integer" } }, "required": ["memberOrdinal", "argumentRole", "argumentOrdinal"] } }, "provenance": { "type": "object", "patternProperties": { "^(.*)$": {} } } }, "required": ["expressionId", "scope", "bindings"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" } }, "required": ["senseId", "created"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-pathsByPathIdSenses", "x-rezics-quota-route-operation-id": "postApiTag-pathsByPathIdSenses", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/{pathId}/vote": { "put": { "summary": "Vote on structural Path validity", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "value": { "type": "string", "enum": [-1, 1] } }, "required": ["value"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] } }, "required": ["score", "voteCount", "viewerVote"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiTag-pathsByPathIdVote", "x-rezics-quota-route-operation-id": "putApiTag-pathsByPathIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove a structural Path vote", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] } }, "required": ["score", "voteCount", "viewerVote"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiTag-pathsByPathIdVote", "x-rezics-quota-route-operation-id": "deleteApiTag-pathsByPathIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/merges": { "post": { "summary": "Propose a governed structural Path merge", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "sourcePathId": { "type": "string", "format": "uuid" }, "targetPathId": { "type": "string", "format": "uuid" }, "reason": { "minLength": 1, "maxLength": 2000, "type": "string" }, "proposalSource": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "human" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "assisted" }, "system": { "minLength": 1, "maxLength": 128, "type": "string" }, "runId": { "minLength": 1, "maxLength": 256, "type": "string" }, "model": { "minLength": 1, "maxLength": 128, "type": "string" }, "confidence": { "minimum": 0, "maximum": 1, "type": "number" } }, "required": ["kind", "system", "runId"] } ] } }, "required": ["sourcePathId", "targetPathId", "reason", "proposalSource"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourcePathId": { "type": "string", "format": "uuid" }, "targetPathId": { "type": "string", "format": "uuid" }, "status": { "type": "string", "enum": ["proposed", "accepted", "rejected", "reversed"] }, "reason": { "type": "string" }, "proposalSourceKind": { "type": "string", "enum": ["human", "assisted"] }, "proposalProvenance": { "nullable": true, "type": ["object", "null"], "properties": { "kind": { "type": "string", "const": "assisted" }, "system": { "type": "string" }, "runId": { "type": "string" }, "model": { "type": "string" }, "confidence": { "minimum": 0, "maximum": 1, "type": "number" } }, "required": ["kind", "system", "runId"] }, "proposedByProfileId": { "type": "string", "format": "uuid" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "sourcePathId", "targetPathId", "status", "reason", "proposalSourceKind", "proposalProvenance", "proposedByProfileId", "resolvedByProfileId", "resolvedAt", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPathMerge", "enum": ["InvalidTagPathMerge"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTag-pathsMerges", "x-rezics-quota-route-operation-id": "postApiTag-pathsMerges", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/merges/pending": { "get": { "summary": "List pending structural Path merge proposals", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourcePathId": { "type": "string", "format": "uuid" }, "targetPathId": { "type": "string", "format": "uuid" }, "status": { "type": "string", "enum": ["proposed", "accepted", "rejected", "reversed"] }, "reason": { "type": "string" }, "proposalSourceKind": { "type": "string", "enum": ["human", "assisted"] }, "proposalProvenance": { "nullable": true, "type": ["object", "null"], "properties": { "kind": { "type": "string", "const": "assisted" }, "system": { "type": "string" }, "runId": { "type": "string" }, "model": { "type": "string" }, "confidence": { "minimum": 0, "maximum": 1, "type": "number" } }, "required": ["kind", "system", "runId"] }, "proposedByProfileId": { "type": "string", "format": "uuid" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "sourceMembers": { "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "targetMembers": { "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } } }, "required": [ "id", "sourcePathId", "targetPathId", "status", "reason", "proposalSourceKind", "proposalProvenance", "proposedByProfileId", "resolvedByProfileId", "resolvedAt", "createdAt", "updatedAt", "sourceMembers", "targetMembers" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTag-pathsMergesPending", "x-rezics-quota-route-operation-id": "getApiTag-pathsMergesPending", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tag-paths/merges/{mergeId}/resolution": { "put": { "summary": "Resolve a structural Path merge proposal", "tags": ["Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "mergeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "status": { "type": "string", "enum": ["accepted", "rejected", "reversed"] } }, "required": ["status"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourcePathId": { "type": "string", "format": "uuid" }, "targetPathId": { "type": "string", "format": "uuid" }, "status": { "type": "string", "enum": ["proposed", "accepted", "rejected", "reversed"] }, "reason": { "type": "string" }, "proposalSourceKind": { "type": "string", "enum": ["human", "assisted"] }, "proposalProvenance": { "nullable": true, "type": ["object", "null"], "properties": { "kind": { "type": "string", "const": "assisted" }, "system": { "type": "string" }, "runId": { "type": "string" }, "model": { "type": "string" }, "confidence": { "minimum": 0, "maximum": 1, "type": "number" } }, "required": ["kind", "system", "runId"] }, "proposedByProfileId": { "type": "string", "format": "uuid" }, "resolvedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "resolvedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "sourcePathId", "targetPathId", "status", "reason", "proposalSourceKind", "proposalProvenance", "proposedByProfileId", "resolvedByProfileId", "resolvedAt", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathMergeNotFound", "enum": ["TagPathMergeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiTag-pathsMergesByMergeIdResolution", "x-rezics-quota-route-operation-id": "putApiTag-pathsMergesByMergeIdResolution", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/tags": { "get": { "summary": "Get visible Tag Expressions grouped by authority", "tags": ["Tags"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "includeExpressions", "in": "query", "required": false, "schema": { "default": true, "type": "boolean" } }, { "name": "expressionLimit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } }, { "name": "sourceLimit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 30, "default": 10, "type": "integer" } }, { "name": "perRealmLimit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 12, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "expressions": { "type": "array", "items": { "type": "object", "properties": { "authority": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "global" } }, "required": ["kind"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" } }, "required": ["kind", "realmId"] } ] }, "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] }, "applications": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "applicationId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "sourceKind": { "type": "string", "enum": ["direct", "path"] }, "authority": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "global" } }, "required": ["kind"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "format": "uuid" } }, "required": ["kind", "realmId"] } ] }, "senseId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "pathId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "tagId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "expressionId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "members": { "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "spoilerVoteCount": { "minimum": 0, "type": "integer" }, "spoilerDistribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "viewerSpoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "applicationId", "sourceKind", "authority", "senseId", "pathId", "tagId", "expressionId", "createdByProfileId", "members", "score", "voteCount", "spoilerVoteCount", "spoilerDistribution", "viewerVote", "viewerSpoilerLevel", "createdAt" ] } } }, "required": ["authority", "expression", "applications"] } }, "totals": { "type": "object", "properties": { "expressions": { "minimum": 0, "type": "integer" } }, "required": ["expressions"] }, "realms": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "canVote": { "type": "boolean" }, "votedTags": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] } }, "required": [ "tagId", "language", "title", "summary", "avatar", "createdAt", "updatedAt", "realmId", "contextPostId", "score", "voteCount", "viewerVote" ] } } }, "required": [ "realmId", "language", "title", "summary", "avatar", "position", "createdAt", "updatedAt", "canVote", "votedTags" ] } }, "voteRealms": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["realmId", "language", "title", "summary", "avatar"] } } }, "required": ["expressions", "totals", "realms", "voteRealms"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiResourcesByOwnerByUnitIdTags", "x-rezics-quota-route-operation-id": "getApiResourcesByOwnerByUnitIdTags", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/tag-path-applications": { "post": { "summary": "Apply one explicit global Path Sense", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "fitVote": { "type": "string", "enum": [-1, 1] }, "spoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": ["senseId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "format": "uuid" }, "senseId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" } }, "required": ["applicationId", "senseId", "created"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiResourcesByOwnerByUnitIdTag-path-applications", "x-rezics-quota-route-operation-id": "postApiResourcesByOwnerByUnitIdTag-path-applications", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/tag-path-applications/{applicationId}": { "delete": { "summary": "Remove one global Path Application", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "format": "uuid" }, "applied": { "type": "boolean", "const": false } }, "required": ["applicationId", "applied"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathApplicationNotFound", "enum": ["TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdTag-path-applicationsByApplicationId", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdTag-path-applicationsByApplicationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/tag-path-applications/{applicationId}/judgment": { "put": { "summary": "Judge one global semantic Application", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "minProperties": 1, "type": "object", "properties": { "fitVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "spoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "spoilerVoteCount": { "minimum": 0, "type": "integer" }, "spoilerDistribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "viewerSpoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "score", "voteCount", "spoilerVoteCount", "spoilerDistribution", "viewerVote", "viewerSpoilerLevel" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathApplicationNotFound", "enum": ["TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiResourcesByOwnerByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-route-operation-id": "putApiResourcesByOwnerByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Clear one global Application judgment", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "spoilerVoteCount": { "minimum": 0, "type": "integer" }, "spoilerDistribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "viewerSpoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "score", "voteCount", "spoilerVoteCount", "spoilerDistribution", "viewerVote", "viewerSpoilerLevel" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathApplicationNotFound", "enum": ["TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-paths": { "get": { "summary": "List structural Paths adopted by a Realm", "tags": ["Realms", "Tags"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "pathId": { "type": "string", "format": "uuid" }, "usageCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "senses": { "type": "array", "items": { "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "expression": { "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["senseId", "expression"] } } }, "required": [ "pathId", "usageCount", "score", "voteCount", "members", "viewerVote", "senses" ] } }, "policy": { "type": "object", "properties": { "fitFallbackPolicy": { "type": "string", "enum": ["inherit", "isolate"] }, "spoilerFallbackPolicy": { "type": "string", "enum": ["inherit", "isolate"] } }, "required": ["fitFallbackPolicy", "spoilerFallbackPolicy"] } }, "required": ["items", "policy"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdTag-paths", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdTag-paths", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-paths/{pathId}": { "put": { "summary": "Adopt structural Path identity in a Realm", "tags": ["Realms", "Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "pathId": { "type": "string", "format": "uuid" }, "adopted": { "type": "boolean", "const": true } }, "required": ["realmId", "pathId", "adopted"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTag-pathsByPathId", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTag-pathsByPathId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-path-senses/{senseId}": { "put": { "summary": "Adopt an explicit Path Sense in a Realm", "tags": ["Realms", "Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "senseId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "senseId": { "type": "string", "format": "uuid" }, "adopted": { "type": "boolean", "const": true } }, "required": ["realmId", "senseId", "adopted"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTag-path-sensesBySenseId", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTag-path-sensesBySenseId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-paths/{pathId}/vote": { "put": { "summary": "Vote on Realm-local structural validity", "tags": ["Realms", "Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "value": { "type": "string", "enum": [-1, 1] } }, "required": ["value"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] } }, "required": ["score", "voteCount", "viewerVote"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTag-pathsByPathIdVote", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTag-pathsByPathIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove a Realm-local structural vote", "tags": ["Realms", "Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pathId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] } }, "required": ["score", "voteCount", "viewerVote"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiRealmsByRealmIdTag-pathsByPathIdVote", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdTag-pathsByPathIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/tag-path-applications": { "post": { "summary": "Apply one adopted Realm Path Sense", "tags": ["Realms", "Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "senseId": { "type": "string", "format": "uuid" }, "fitVote": { "type": "string", "enum": [-1, 1] }, "spoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": ["senseId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "format": "uuid" }, "senseId": { "type": "string", "format": "uuid" }, "created": { "type": "boolean" } }, "required": ["applicationId", "senseId", "created"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathNotFound", "enum": ["TagPathNotFound", "TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealmsByRealmIdUnitsByUnitIdTag-path-applications", "x-rezics-quota-route-operation-id": "postApiRealmsByRealmIdUnitsByUnitIdTag-path-applications", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/tag-path-applications/{applicationId}": { "delete": { "summary": "Remove one Realm semantic Application", "tags": ["Realms", "Tags"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "format": "uuid" }, "applied": { "type": "boolean", "const": false } }, "required": ["applicationId", "applied"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathApplicationNotFound", "enum": ["TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiRealmsByRealmIdUnitsByUnitIdTag-path-applicationsByApplicationId", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdUnitsByUnitIdTag-path-applicationsByApplicationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/tag-path-applications/{applicationId}/judgment": { "put": { "summary": "Judge one Realm semantic Application", "tags": ["Realms", "Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "minProperties": 1, "type": "object", "properties": { "fitVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "spoilerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "format": "uuid" } }, "required": ["applicationId"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathApplicationNotFound", "enum": ["TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdUnitsByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdUnitsByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Clear one Realm Application judgment", "tags": ["Realms", "Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "applicationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "applicationId": { "type": "string", "format": "uuid" } }, "required": ["applicationId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagPathApplicationNotFound", "enum": ["TagPathApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiRealmsByRealmIdUnitsByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdUnitsByUnitIdTag-path-applicationsByApplicationIdJudgment", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-path-policy": { "put": { "summary": "Set independent Realm fallback policies", "tags": ["Realms", "Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "fitFallbackPolicy": { "type": "string", "enum": ["inherit", "isolate"] }, "spoilerFallbackPolicy": { "type": "string", "enum": ["inherit", "isolate"] } }, "required": ["fitFallbackPolicy", "spoilerFallbackPolicy"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "fitFallbackPolicy": { "type": "string", "enum": ["inherit", "isolate"] }, "spoilerFallbackPolicy": { "type": "string", "enum": ["inherit", "isolate"] } }, "required": ["realmId", "fitFallbackPolicy", "spoilerFallbackPolicy"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTag-path-policy", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTag-path-policy", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/users/me/tag-realm-subscriptions": { "get": { "summary": "List ordered Realm Tag authorities", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "language", "title", "summary", "avatar", "position", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUsersMeTag-realm-subscriptions", "x-rezics-quota-route-operation-id": "getApiUsersMeTag-realm-subscriptions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/users/me/tag-realm-subscriptions/{realmId}": { "put": { "summary": "Subscribe to or reorder a Realm Tag authority", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "language", "title", "summary", "avatar", "position", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiUsersMeTag-realm-subscriptionsByRealmId", "x-rezics-quota-route-operation-id": "putApiUsersMeTag-realm-subscriptionsByRealmId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Unsubscribe from a Realm Tag authority", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "subscribed": { "type": "boolean" } }, "required": ["realmId", "subscribed"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiUsersMeTag-realm-subscriptionsByRealmId", "x-rezics-quota-route-operation-id": "deleteApiUsersMeTag-realm-subscriptionsByRealmId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/slug-addresses/resolve": { "post": { "operationId": "resolveUnitSlugAddress", "summary": "Resolve a complete public Unit slug path", "description": "Resolves two or three slug labels to a public Unit ID and reports its canonical path. Browser routes use the resolved ID for subsequent resource reads and cache identity.", "tags": ["Slug Addresses"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "path": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["path"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "path": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "canonicalPath": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "redirected": { "type": "boolean" } }, "required": ["id", "owner", "shape", "path", "canonicalPath", "redirected"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": ["InvalidSlug"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugScopeCycle", "enum": ["SlugScopeCycle"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugDepthExceeded", "enum": ["SlugDepthExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "postApiSlug-addressesResolve", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/slug-addresses/public-units/{unitId}": { "get": { "operationId": "getPublicUnitSlugAddress", "summary": "Get a Unit public canonical slug address", "description": "Returns a public Unit's optional canonical slug address for ID-route canonicalization. Missing, private, moderated, deleted, or unaddressed Units all return not found.", "tags": ["Slug Addresses"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiSlug-addressesPublic-unitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/slug-addresses/scopes/{scopeUnitId}/{slug}": { "get": { "operationId": "resolveScopedUnitSlugAddress", "summary": "Resolve a Unit slug in its direct scope", "description": "Resolves a direct scope Unit ID and slug label to a public Unit ID. An optional expected owner prevents cross-resource matches. The response includes the complete canonical path so callers can redirect former addresses.", "tags": ["Slug Addresses"], "parameters": [ { "name": "scopeUnitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "slug", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, { "name": "owner", "in": "query", "required": false, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "path": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "canonicalPath": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "redirected": { "type": "boolean" } }, "required": ["id", "owner", "shape", "path", "canonicalPath", "redirected"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": ["InvalidSlug"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiSlug-addressesScopesByScopeUnitIdBySlug", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/slug-addresses/namespaces/{scopeNamespaceId}/{slug}": { "get": { "operationId": "resolveNamespaceSlugAddress", "summary": "Resolve a resource in a permanent namespace", "tags": ["Slug Addresses"], "parameters": [ { "name": "scopeNamespaceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "slug", "in": "path", "required": true, "schema": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, { "name": "owner", "in": "query", "required": false, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "path": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "canonicalPath": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "redirected": { "type": "boolean" } }, "required": ["id", "owner", "shape", "path", "canonicalPath", "redirected"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": ["InvalidSlug"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiSlug-addressesNamespacesByScopeNamespaceIdBySlug", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/slug-addresses/units/{unitId}": { "get": { "operationId": "getUnitSlugAddressWithPlatformAccess", "summary": "Get a Unit canonical slug address with platform access", "description": "Development-preview control plane. Returns canonical address registry details for authorized platform workflows, including the administrative address ID. Ordinary resource responses expose only the nullable public slugAddress projection.", "tags": ["Slug Addresses"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "addressId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "required": ["addressId", "unitId", "scopeUnitId", "scopeNamespaceId", "slug"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitSlugAddressNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiSlug-addressesUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "operationId": "replaceUnitSlugAddressWithPlatformAccess", "summary": "Replace any Unit slug address with platform access", "description": "Development-preview control plane. Assigns or replaces a canonical address independently of Unit creation and update. It retains the former address as a redirect and succeeds idempotently when the requested address is already canonical.", "tags": ["Slug Addresses"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["scopeUnitId", "scopeNamespaceId", "slug", "rules"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "addressId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "redirectAddressId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "addressId", "unitId", "scopeUnitId", "scopeNamespaceId", "slug", "redirectAddressId", "canonicalPath" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": ["InvalidSlug", "GovernanceRuleSourceForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitAddressMutationForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "SlugScopeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugTaken", "enum": [ "SlugTaken", "SlugScopeUnavailable", "SlugScopeCycle", "GovernanceRuleChanged" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugDepthExceeded", "enum": ["SlugDepthExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiSlug-addressesUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/slug-addresses/redirects/{redirectAddressId}": { "delete": { "operationId": "releaseSlugRedirectWithPlatformAccess", "summary": "Release a retained slug redirect with platform access", "description": "Development-preview control plane. Deletes one temporary Redirect record so its scoped label may be reused. This is an audited platform action; retention and quarantine policy determines when a redirect is eligible for release.", "tags": ["Slug Addresses"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceRuleSourceForbidden", "enum": ["GovernanceRuleSourceForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitAddressMutationForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugRedirectNotFound", "enum": ["SlugRedirectNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceRuleChanged", "enum": ["GovernanceRuleChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "redirectAddressId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["rules"] } } } }, "x-rezics-quota-route-operation-id": "deleteApiSlug-addressesRedirectsByRedirectAddressId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/reference": { "get": { "operationId": "getUnitReference", "summary": "Resolve a readable native owner reference", "tags": ["Units"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" } }, "required": ["owner", "id", "shape"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdReference", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/seo": { "get": { "operationId": "getPublicUnitSeoProjection", "summary": "Get a sanitized public Unit SEO projection", "description": "Returns bounded metadata for one publicly visitable Unit. Adult-rated Units return only a noindex decision and never expose authored titles, summaries, descriptions, or images.", "tags": ["Units"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 32, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "collection", "tag" ], "type": "string" }, "shape": { "minLength": 1, "type": "string" }, "contentRating": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "indexing": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "index" } }, "required": ["state"] }, "presentation": { "additionalProperties": false, "type": "object", "properties": { "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "description": { "nullable": true, "maxLength": 600, "type": ["string", "null"] }, "image": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "context": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "entity" }, "shape": { "minLength": 1, "type": "string" } }, "required": ["kind", "shape"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "zone_page" }, "zoneId": { "type": "string", "format": "uuid" }, "zoneTitle": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "zoneId", "zoneTitle"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "post" }, "attributionTitle": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "attributionTitle"] } ] }, { "type": "null" } ] } }, "required": ["language", "title", "description", "image", "context"] } }, "required": [ "id", "owner", "shape", "contentRating", "publishedAt", "updatedAt", "indexing", "presentation" ] }, { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "collection", "tag" ], "type": "string" }, "shape": { "minLength": 1, "type": "string" }, "contentRating": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "indexing": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "noindex" }, "reason": { "type": "string", "const": "unlisted" } }, "required": ["state", "reason"] }, "presentation": { "additionalProperties": false, "type": "object", "properties": { "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "description": { "nullable": true, "maxLength": 600, "type": ["string", "null"] }, "image": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "context": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "entity" }, "shape": { "minLength": 1, "type": "string" } }, "required": ["kind", "shape"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "zone_page" }, "zoneId": { "type": "string", "format": "uuid" }, "zoneTitle": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "zoneId", "zoneTitle"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "post" }, "attributionTitle": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "attributionTitle"] } ] }, { "type": "null" } ] } }, "required": ["language", "title", "description", "image", "context"] } }, "required": [ "id", "owner", "shape", "contentRating", "publishedAt", "updatedAt", "indexing", "presentation" ] }, { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "collection", "tag" ], "type": "string" }, "shape": { "minLength": 1, "type": "string" }, "contentRating": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "indexing": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "noindex" }, "reason": { "type": "string", "enum": ["adult", "incomplete"] } }, "required": ["state", "reason"] }, "presentation": { "type": "null" } }, "required": [ "id", "owner", "shape", "contentRating", "publishedAt", "updatedAt", "indexing", "presentation" ] } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdSeo", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/presentations": { "post": { "summary": "Resolve readable Unit presentations", "tags": ["Units"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "ids": { "minItems": 1, "maxItems": 100, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["ids"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] } } }, "required": ["items"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsPresentations", "x-rezics-quota-route-operation-id": "postApiUnitsPresentations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/realm-publications": { "get": { "summary": "List a Unit's Realm publications", "tags": ["Units", "Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "publicationState", "in": "query", "required": false, "schema": { "default": "active", "enum": ["active", "withdrawn", "all"], "type": "string" } }, { "name": "realmStatus", "in": "query", "required": false, "schema": { "default": "current", "enum": ["current", "pending", "visible", "hidden", "removed", "all"], "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmOwner": { "type": "string", "const": "realm" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "publicationState": { "default": "active", "enum": ["active", "withdrawn"], "type": "string" }, "status": { "default": "pending", "enum": ["pending", "visible", "hidden", "removed"], "type": "string" }, "effectivelyVisible": { "type": "boolean" }, "latestGovernance": { "nullable": true, "type": ["object", "null"], "properties": { "actionId": { "type": "string", "format": "uuid" }, "actionKind": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": ["actionId", "actionKind", "createdAt"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "realmOwner", "language", "title", "publicationState", "status", "effectivelyVisible", "latestGovernance", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitAccessRestricted", "UnitPermissionForbidden", "RealmCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdRealm-publications", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdRealm-publications", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/realm-publications/{realmId}": { "post": { "summary": "Publish a Unit to one Realm", "tags": ["Units", "Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitAccessRestricted", "UnitPermissionForbidden", "RealmCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRealmPublicationAlreadyExists", "enum": [ "UnitRealmPublicationAlreadyExists", "UnitRealmPublicationTransitionInvalid", "RealmRulesAcceptanceRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "postApiUnitsBy-idByUnitIdRealm-publicationsByRealmId", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdRealm-publicationsByRealmId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/realm-publications/{realmId}/withdraw": { "post": { "summary": "Withdraw a Unit from one Realm", "tags": ["Units", "Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitAccessRestricted", "UnitPermissionForbidden", "RealmCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitRealmPublicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRealmPublicationAlreadyExists", "enum": [ "UnitRealmPublicationAlreadyExists", "UnitRealmPublicationTransitionInvalid", "RealmRulesAcceptanceRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "postApiUnitsBy-idByUnitIdRealm-publicationsByRealmIdWithdraw", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdRealm-publicationsByRealmIdWithdraw", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/realm-publications/{realmId}/republish": { "post": { "summary": "Republish a Unit to one Realm", "tags": ["Units", "Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitAccessRestricted", "UnitPermissionForbidden", "RealmCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitRealmPublicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRealmPublicationAlreadyExists", "enum": [ "UnitRealmPublicationAlreadyExists", "UnitRealmPublicationTransitionInvalid", "RealmRulesAcceptanceRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "postApiUnitsBy-idByUnitIdRealm-publicationsByRealmIdRepublish", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdRealm-publicationsByRealmIdRepublish", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/status-events": { "get": { "summary": "List Unit status events", "tags": ["Units"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "fromStatus": { "nullable": true, "default": "draft", "enum": ["draft", "published", "archived"], "type": ["string", "null"] }, "toStatus": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "actor": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "profile" }, "profileId": { "type": "string", "format": "uuid" }, "name": { "nullable": true, "type": ["string", "null"] } }, "required": ["kind", "profileId", "name"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "system" } }, "required": ["kind"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "import" } }, "required": ["kind"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" } }, "required": ["kind"] } ] }, "revisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "fromStatus", "toStatus", "actor", "revisionId", "createdAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdStatus-events", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdStatus-events", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/localization-order": { "get": { "summary": "Get Unit content language order", "tags": ["Units"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "languages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["languages"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdLocalization-order", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdLocalization-order", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Reorder Unit content languages", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedLanguages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "languages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["expectedLanguages", "languages"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "languages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["languages"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLocalizationOrderInvalid", "enum": [ "UnitLocalizationOrderInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLocalizationOrderChanged", "enum": [ "UnitLocalizationOrderChanged", "UnitLastLocalizationRemovalForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiUnitsBy-idByUnitIdLocalization-order", "x-rezics-quota-route-operation-id": "putApiUnitsBy-idByUnitIdLocalization-order", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/localizations/{language}": { "delete": { "summary": "Remove a Unit content language", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "expectedLanguages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["expectedLanguages"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "languages": { "minItems": 1, "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["languages"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLocalizationOrderInvalid", "enum": [ "UnitLocalizationOrderInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitLocalizationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitLocalizationOrderChanged", "enum": [ "UnitLocalizationOrderChanged", "UnitLastLocalizationRemovalForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiUnitsBy-idByUnitIdLocalizationsByLanguage", "x-rezics-quota-route-operation-id": "deleteApiUnitsBy-idByUnitIdLocalizationsByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/{type}": { "get": { "summary": "List published units", "tags": ["Units"], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string", "enum": ["video", "audio"] } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "contentRating": { "type": "string" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "language", "contentRating", "publishedAt", "createdAt", "updatedAt", "title", "summary", "attributions", "avatar", "banner", "cover" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsByType", "x-rezics-quota-route-operation-id": "getApiUnitsByType", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create unit", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string", "enum": ["video", "audio"] } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "contentRating": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "aiDisclosure": { "type": "string", "enum": [ "unknown", "none", "ai_assisted", "ai_originated", "machine_generated" ] }, "durationSeconds": { "nullable": true, "minimum": 1, "maximum": 2147483647, "type": ["integer", "null"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "owner": { "type": "string", "const": "audio" } }, "required": ["localization", "owner"] }, { "additionalProperties": false, "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "contentRating": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "aiDisclosure": { "type": "string", "enum": [ "unknown", "none", "ai_assisted", "ai_originated", "machine_generated" ] }, "durationSeconds": { "nullable": true, "minimum": 1, "maximum": 2147483647, "type": ["integer", "null"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "owner": { "type": "string", "const": "video" }, "adaptedAudioUnitIds": { "maxItems": 64, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": ["localization", "owner"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "video", "enum": ["video", "audio"], "type": "string" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "contentRating": { "type": "string" }, "aiDisclosure": { "type": "string" }, "licenses": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" } }, "required": ["id", "licenseId", "grantedByProfileId", "grantedAt"] } }, "licenseOfferings": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" }, "recognitionStatus": { "default": "recognized", "enum": ["recognized", "invalidated"], "type": "string" } }, "required": [ "id", "licenseId", "grantedByProfileId", "grantedAt", "recognitionStatus" ] } }, "postTargetingLocked": { "type": "boolean" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "creditedBookCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "followerCount": { "minimum": 0, "type": "integer" } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar", "creditedBookCount", "followerCount" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "releasedOn": { "nullable": true, "type": ["string", "null"] }, "details": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "video" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "adaptedAudioUnitIds": { "nullable": true, "maxItems": 64, "uniqueItems": true, "type": ["array", "null"], "items": { "type": "string", "format": "uuid" } } }, "required": ["type", "durationSeconds", "adaptedAudioUnitIds"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "audio" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] } }, "required": ["type", "durationSeconds"] } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "language", "position", "title", "summary", "description", "avatar", "banner", "cover", "createdAt", "updatedAt" ] } }, "subjectAssociations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "entityEntryId": { "type": "string", "format": "uuid" }, "entityKind": { "default": "person", "enum": ["person", "organization", "character", "software_agent"], "type": "string" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "expressions": { "maxItems": 4, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "contextPost": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean" } }, "required": ["tagId", "title", "score", "voteCount", "pinned"] } } }, "required": ["id", "subjectId", "title", "tags"] }, "spoiler": { "additionalProperties": false, "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "level", "concealed", "voteCount", "distribution", "viewerLevel" ] } }, "required": [ "id", "entityEntryId", "entityKind", "role", "position", "language", "title", "summary", "avatar", "cover", "expressions", "contextPost", "spoiler" ] } }, "externalLinks": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "sourceEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt", "sourceEntity" ] } }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "type": "integer" }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "tagId", "realmId", "score", "voteCount", "pinned", "position", "title", "createdAt", "updatedAt" ] } }, "progressStatistics": { "nullable": true, "type": ["object", "null"], "properties": { "active": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "backlog": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" } }, "required": ["active", "backlog"] }, "versions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "canonicalUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["id", "kind", "canonicalUnitId"] } }, "variantContext": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "standalone" } }, "required": ["role"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "main" }, "variants": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } } }, "required": ["role", "variants"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "variant" }, "relationUpdatedAt": { "type": "string", "format": "date-time" }, "main": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "available" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } }, "required": ["state", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "unavailable" } }, "required": ["state"] } ] } }, "required": ["role", "relationUpdatedAt", "main"] } ] }, "ownershipMode": { "default": "profile_owned", "enum": ["profile_owned", "community_owned"], "type": "string" }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canUpdateMetadataOnly": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageAssociations": { "type": "boolean" }, "canCurateTags": { "type": "boolean" }, "canCurateReferences": { "type": "object", "properties": { "aliases": { "type": "boolean" }, "externalLinks": { "type": "boolean" } }, "required": ["aliases", "externalLinks"] }, "canManageRealmPublications": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": [ "canEdit", "canUpdateMetadataOnly", "canManageAccess", "canManageAssociations", "canCurateTags", "canCurateReferences", "canManageRealmPublications", "hasDevelopmentPreviewAccess" ] } }, "required": [ "id", "type", "status", "visibility", "language", "contentLanguageSupport", "contentRating", "aiDisclosure", "licenses", "licenseOfferings", "postTargetingLocked", "publishedAt", "attributions", "createdAt", "updatedAt", "releasedOn", "details", "avatar", "banner", "cover", "localizations", "subjectAssociations", "externalLinks", "tags", "progressStatistics", "versions", "variantContext", "ownershipMode", "capabilities" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CreditAttributionRoleInvalid", "enum": [ "CreditAttributionRoleInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired", "UnitLicenseNotApplicable" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "EntityAssociationRestricted", "UnitLicenseGrantForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": [ "UnitNotFound", "ImageAssetNotFound", "EntityEntryNotFound", "TagNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CreditAttributionRequestConfirmationRequired", "enum": [ "CreditAttributionRequestConfirmationRequired", "UnitLicenseGrantConflict", "UnitLicenseOfferingEndForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError", "UnitContentLanguageSupportInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsByType", "x-rezics-quota-route-operation-id": "postApiUnitsByType", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/{type}/{unitId}/content-language-support/evidence": { "get": { "summary": "List bounded Unit content language evidence", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string", "enum": ["video", "audio"] } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "currentContentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "items": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "source": { "type": "string", "const": "adapted_audio" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string", "const": "audio" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["id", "kind", "language", "title"] }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "occurrence": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "structureId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" } }, "required": ["structureId", "nodeId"] } }, "required": ["source", "unit", "contentLanguageSupport", "occurrence"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["currentContentLanguageSupport", "items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsByTypeByUnitIdContent-language-supportEvidence", "x-rezics-quota-route-operation-id": "getApiUnitsByTypeByUnitIdContent-language-supportEvidence", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/{type}/{unitId}": { "get": { "summary": "Get unit", "tags": ["Units"], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string", "enum": ["video", "audio"] } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "video", "enum": ["video", "audio"], "type": "string" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "contentRating": { "type": "string" }, "aiDisclosure": { "type": "string" }, "licenses": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" } }, "required": ["id", "licenseId", "grantedByProfileId", "grantedAt"] } }, "licenseOfferings": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" }, "recognitionStatus": { "default": "recognized", "enum": ["recognized", "invalidated"], "type": "string" } }, "required": [ "id", "licenseId", "grantedByProfileId", "grantedAt", "recognitionStatus" ] } }, "postTargetingLocked": { "type": "boolean" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "creditedBookCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "followerCount": { "minimum": 0, "type": "integer" } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar", "creditedBookCount", "followerCount" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "releasedOn": { "nullable": true, "type": ["string", "null"] }, "details": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "video" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "adaptedAudioUnitIds": { "nullable": true, "maxItems": 64, "uniqueItems": true, "type": ["array", "null"], "items": { "type": "string", "format": "uuid" } } }, "required": ["type", "durationSeconds", "adaptedAudioUnitIds"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "audio" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] } }, "required": ["type", "durationSeconds"] } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "language", "position", "title", "summary", "description", "avatar", "banner", "cover", "createdAt", "updatedAt" ] } }, "subjectAssociations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "entityEntryId": { "type": "string", "format": "uuid" }, "entityKind": { "default": "person", "enum": ["person", "organization", "character", "software_agent"], "type": "string" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "expressions": { "maxItems": 4, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "contextPost": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean" } }, "required": ["tagId", "title", "score", "voteCount", "pinned"] } } }, "required": ["id", "subjectId", "title", "tags"] }, "spoiler": { "additionalProperties": false, "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "level", "concealed", "voteCount", "distribution", "viewerLevel" ] } }, "required": [ "id", "entityEntryId", "entityKind", "role", "position", "language", "title", "summary", "avatar", "cover", "expressions", "contextPost", "spoiler" ] } }, "externalLinks": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "sourceEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt", "sourceEntity" ] } }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "type": "integer" }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "tagId", "realmId", "score", "voteCount", "pinned", "position", "title", "createdAt", "updatedAt" ] } }, "progressStatistics": { "nullable": true, "type": ["object", "null"], "properties": { "active": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "backlog": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" } }, "required": ["active", "backlog"] }, "versions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "canonicalUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["id", "kind", "canonicalUnitId"] } }, "variantContext": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "standalone" } }, "required": ["role"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "main" }, "variants": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } } }, "required": ["role", "variants"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "variant" }, "relationUpdatedAt": { "type": "string", "format": "date-time" }, "main": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "available" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } }, "required": ["state", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "unavailable" } }, "required": ["state"] } ] } }, "required": ["role", "relationUpdatedAt", "main"] } ] }, "ownershipMode": { "default": "profile_owned", "enum": ["profile_owned", "community_owned"], "type": "string" }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canUpdateMetadataOnly": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageAssociations": { "type": "boolean" }, "canCurateTags": { "type": "boolean" }, "canCurateReferences": { "type": "object", "properties": { "aliases": { "type": "boolean" }, "externalLinks": { "type": "boolean" } }, "required": ["aliases", "externalLinks"] }, "canManageRealmPublications": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": [ "canEdit", "canUpdateMetadataOnly", "canManageAccess", "canManageAssociations", "canCurateTags", "canCurateReferences", "canManageRealmPublications", "hasDevelopmentPreviewAccess" ] } }, "required": [ "id", "type", "status", "visibility", "language", "contentLanguageSupport", "contentRating", "aiDisclosure", "licenses", "licenseOfferings", "postTargetingLocked", "publishedAt", "attributions", "createdAt", "updatedAt", "releasedOn", "details", "avatar", "banner", "cover", "localizations", "subjectAssociations", "externalLinks", "tags", "progressStatistics", "versions", "variantContext", "ownershipMode", "capabilities" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsByTypeByUnitId", "x-rezics-quota-route-operation-id": "getApiUnitsByTypeByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update unit", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string", "enum": ["video", "audio"] } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "updatedAt": { "type": "string", "format": "date-time" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "contentRating": { "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "aiDisclosure": { "type": "string", "enum": ["unknown", "none", "ai_assisted", "ai_originated", "machine_generated"] }, "licenses": { "uniqueItems": true, "maxItems": 9, "type": "array", "items": { "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" } }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "details": { "additionalProperties": false, "type": "object", "properties": { "durationSeconds": { "nullable": true, "minimum": 1, "maximum": 2147483647, "type": ["integer", "null"] }, "adaptedAudioUnitIds": { "nullable": true, "maxItems": 64, "uniqueItems": true, "type": ["array", "null"], "items": { "type": "string", "format": "uuid" } } } }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["updatedAt"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "video", "enum": ["video", "audio"], "type": "string" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "contentRating": { "type": "string" }, "aiDisclosure": { "type": "string" }, "licenses": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" } }, "required": ["id", "licenseId", "grantedByProfileId", "grantedAt"] } }, "licenseOfferings": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" }, "recognitionStatus": { "default": "recognized", "enum": ["recognized", "invalidated"], "type": "string" } }, "required": [ "id", "licenseId", "grantedByProfileId", "grantedAt", "recognitionStatus" ] } }, "postTargetingLocked": { "type": "boolean" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "creditedBookCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "followerCount": { "minimum": 0, "type": "integer" } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar", "creditedBookCount", "followerCount" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "releasedOn": { "nullable": true, "type": ["string", "null"] }, "details": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "video" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "adaptedAudioUnitIds": { "nullable": true, "maxItems": 64, "uniqueItems": true, "type": ["array", "null"], "items": { "type": "string", "format": "uuid" } } }, "required": ["type", "durationSeconds", "adaptedAudioUnitIds"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "audio" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] } }, "required": ["type", "durationSeconds"] } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "language", "position", "title", "summary", "description", "avatar", "banner", "cover", "createdAt", "updatedAt" ] } }, "subjectAssociations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "entityEntryId": { "type": "string", "format": "uuid" }, "entityKind": { "default": "person", "enum": ["person", "organization", "character", "software_agent"], "type": "string" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "expressions": { "maxItems": 4, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "contextPost": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean" } }, "required": ["tagId", "title", "score", "voteCount", "pinned"] } } }, "required": ["id", "subjectId", "title", "tags"] }, "spoiler": { "additionalProperties": false, "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "level", "concealed", "voteCount", "distribution", "viewerLevel" ] } }, "required": [ "id", "entityEntryId", "entityKind", "role", "position", "language", "title", "summary", "avatar", "cover", "expressions", "contextPost", "spoiler" ] } }, "externalLinks": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "sourceEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt", "sourceEntity" ] } }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "type": "integer" }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "tagId", "realmId", "score", "voteCount", "pinned", "position", "title", "createdAt", "updatedAt" ] } }, "progressStatistics": { "nullable": true, "type": ["object", "null"], "properties": { "active": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "backlog": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" } }, "required": ["active", "backlog"] }, "versions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "canonicalUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["id", "kind", "canonicalUnitId"] } }, "variantContext": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "standalone" } }, "required": ["role"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "main" }, "variants": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } } }, "required": ["role", "variants"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "variant" }, "relationUpdatedAt": { "type": "string", "format": "date-time" }, "main": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "available" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } }, "required": ["state", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "unavailable" } }, "required": ["state"] } ] } }, "required": ["role", "relationUpdatedAt", "main"] } ] }, "ownershipMode": { "default": "profile_owned", "enum": ["profile_owned", "community_owned"], "type": "string" }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canUpdateMetadataOnly": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageAssociations": { "type": "boolean" }, "canCurateTags": { "type": "boolean" }, "canCurateReferences": { "type": "object", "properties": { "aliases": { "type": "boolean" }, "externalLinks": { "type": "boolean" } }, "required": ["aliases", "externalLinks"] }, "canManageRealmPublications": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": [ "canEdit", "canUpdateMetadataOnly", "canManageAccess", "canManageAssociations", "canCurateTags", "canCurateReferences", "canManageRealmPublications", "hasDevelopmentPreviewAccess" ] } }, "required": [ "id", "type", "status", "visibility", "language", "contentLanguageSupport", "contentRating", "aiDisclosure", "licenses", "licenseOfferings", "postTargetingLocked", "publishedAt", "attributions", "createdAt", "updatedAt", "releasedOn", "details", "avatar", "banner", "cover", "localizations", "subjectAssociations", "externalLinks", "tags", "progressStatistics", "versions", "variantContext", "ownershipMode", "capabilities" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired", "UnitLicenseNotApplicable" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitPermissionForbidden", "UnitLicenseGrantForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitChanged", "enum": [ "UnitChanged", "UnitLicenseGrantConflict", "UnitLicenseOfferingEndForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": [ "ValidationError", "UnitContentLanguageSupportInvalid", "VideoAudioTrackInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiUnitsByTypeByUnitId", "x-rezics-quota-route-operation-id": "patchApiUnitsByTypeByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/{type}/{unitId}/localizations/{language}": { "put": { "summary": "Create or replace unit localization", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "type", "in": "path", "required": true, "schema": { "type": "string", "enum": ["video", "audio"] } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["title"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "video", "enum": ["video", "audio"], "type": "string" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "contentLanguageSupport": { "maxItems": 64, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "languageTag": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" }, "channels": { "minItems": 1, "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "text", "enum": ["text", "audio", "subtitle", "interface"], "type": "string" } } }, "required": ["languageTag"] } }, "contentRating": { "type": "string" }, "aiDisclosure": { "type": "string" }, "licenses": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" } }, "required": ["id", "licenseId", "grantedByProfileId", "grantedAt"] } }, "licenseOfferings": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "licenseId": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" }, "grantedByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "grantedAt": { "type": "string", "format": "date-time" }, "recognitionStatus": { "default": "recognized", "enum": ["recognized", "invalidated"], "type": "string" } }, "required": [ "id", "licenseId", "grantedByProfileId", "grantedAt", "recognitionStatus" ] } }, "postTargetingLocked": { "type": "boolean" }, "publishedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "creditedBookCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "followerCount": { "minimum": 0, "type": "integer" } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar", "creditedBookCount", "followerCount" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "releasedOn": { "nullable": true, "type": ["string", "null"] }, "details": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "video" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "adaptedAudioUnitIds": { "nullable": true, "maxItems": 64, "uniqueItems": true, "type": ["array", "null"], "items": { "type": "string", "format": "uuid" } } }, "required": ["type", "durationSeconds", "adaptedAudioUnitIds"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "audio" }, "durationSeconds": { "nullable": true, "minimum": 1, "type": ["integer", "null"] } }, "required": ["type", "durationSeconds"] } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "language", "position", "title", "summary", "description", "avatar", "banner", "cover", "createdAt", "updatedAt" ] } }, "subjectAssociations": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "entityEntryId": { "type": "string", "format": "uuid" }, "entityKind": { "default": "person", "enum": ["person", "organization", "character", "software_agent"], "type": "string" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "expressions": { "maxItems": 4, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "contextPost": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean" } }, "required": ["tagId", "title", "score", "voteCount", "pinned"] } } }, "required": ["id", "subjectId", "title", "tags"] }, "spoiler": { "additionalProperties": false, "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "level", "concealed", "voteCount", "distribution", "viewerLevel" ] } }, "required": [ "id", "entityEntryId", "entityKind", "role", "position", "language", "title", "summary", "avatar", "cover", "expressions", "contextPost", "spoiler" ] } }, "externalLinks": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "sourceEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt", "sourceEntity" ] } }, "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "type": "integer" }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "tagId", "realmId", "score", "voteCount", "pinned", "position", "title", "createdAt", "updatedAt" ] } }, "progressStatistics": { "nullable": true, "type": ["object", "null"], "properties": { "active": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" }, "backlog": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value", "asOf"], "properties": { "kind": { "type": "string", "const": "estimate" }, "value": { "type": "integer", "minimum": 0 }, "asOf": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$" }, "modifiedSinceAnalyze": { "type": "integer", "minimum": 0 }, "relativeError": { "type": "number", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "CountResult" } }, "required": ["active", "backlog"] }, "versions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "kind": { "type": "string" }, "canonicalUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["id", "kind", "canonicalUnitId"] } }, "variantContext": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "standalone" } }, "required": ["role"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "main" }, "variants": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } } }, "required": ["role", "variants"] }, { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "const": "variant" }, "relationUpdatedAt": { "type": "string", "format": "date-time" }, "main": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "available" }, "unit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "default": "book", "enum": ["book", "software", "media", "entity"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "type", "language", "title", "cover"] } }, "required": ["state", "unit"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "unavailable" } }, "required": ["state"] } ] } }, "required": ["role", "relationUpdatedAt", "main"] } ] }, "ownershipMode": { "default": "profile_owned", "enum": ["profile_owned", "community_owned"], "type": "string" }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canUpdateMetadataOnly": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageAssociations": { "type": "boolean" }, "canCurateTags": { "type": "boolean" }, "canCurateReferences": { "type": "object", "properties": { "aliases": { "type": "boolean" }, "externalLinks": { "type": "boolean" } }, "required": ["aliases", "externalLinks"] }, "canManageRealmPublications": { "type": "boolean" }, "hasDevelopmentPreviewAccess": { "type": "boolean" } }, "required": [ "canEdit", "canUpdateMetadataOnly", "canManageAccess", "canManageAssociations", "canCurateTags", "canCurateReferences", "canManageRealmPublications", "hasDevelopmentPreviewAccess" ] } }, "required": [ "id", "type", "status", "visibility", "language", "contentLanguageSupport", "contentRating", "aiDisclosure", "licenses", "licenseOfferings", "postTargetingLocked", "publishedAt", "attributions", "createdAt", "updatedAt", "releasedOn", "details", "avatar", "banner", "cover", "localizations", "subjectAssociations", "externalLinks", "tags", "progressStatistics", "versions", "variantContext", "ownershipMode", "capabilities" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ApiTokenPermissionRequired", "enum": [ "ApiTokenPermissionRequired", "EmailVerificationRequired", "AccountRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ImageAssetNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiUnitsByTypeByUnitIdLocalizationsByLanguage", "x-rezics-quota-route-operation-id": "putApiUnitsByTypeByUnitIdLocalizationsByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/subject-associations": { "get": { "summary": "List bounded Unit subject association cards", "tags": ["Units"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 4096, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 8, "default": 8, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "entityEntryId": { "type": "string", "format": "uuid" }, "entityOwner": { "type": "string", "const": "entity" }, "entityShape": { "minLength": 1, "type": "string" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "expressions": { "maxItems": 128, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": ["predicate", "slot", "value", "focus", "qualifier"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "expressionsComplete": { "type": "boolean" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "measurement": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "contextUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "heightMillimetres": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "weightGrams": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "bustMillimetres": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "waistMillimetres": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "hipsMillimetres": { "nullable": true, "minimum": 0, "type": ["integer", "null"] } }, "required": [ "contextUnitId", "heightMillimetres", "weightGrams", "bustMillimetres", "waistMillimetres", "hipsMillimetres" ] }, "contextPost": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean" } }, "required": ["tagId", "title", "score", "voteCount", "pinned"] } } }, "required": ["id", "subjectId", "title", "tags"] }, "spoiler": { "additionalProperties": false, "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": [ "level", "concealed", "voteCount", "distribution", "viewerLevel" ] } }, "required": [ "id", "entityEntryId", "entityOwner", "entityShape", "role", "position", "language", "title", "summary", "description", "cover", "expressions", "expressionsComplete", "attributions", "measurement", "contextPost", "spoiler" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdSubject-associations", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdSubject-associations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/contribution-resources/me": { "get": { "operationId": "listCurrentUserContributionResources", "summary": "List public resources the current user has created or contributed to", "tags": ["History"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "section", "in": "query", "required": false, "schema": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "tag", "realm", "zone", "post", "wiki", "collection", "review", "poll" ], "type": "string" } }, { "name": "kind", "in": "query", "required": false, "schema": { "default": "all", "enum": ["all", "created", "contributed"], "type": "string" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "section": { "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "tag", "realm", "zone", "post", "wiki", "collection", "review", "poll" ], "type": "string" }, "createdResourceAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "firstContributedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastContributedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "contributionCount": { "minimum": 0, "type": "integer" }, "lastParticipatedAt": { "type": "string", "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "resourceOwner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "label" ], "type": "string" }, "shape": { "minLength": 1, "type": "string" }, "presentation": { "type": "object", "properties": { "kind": { "type": "string", "const": "resource" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "status": { "default": "draft", "enum": ["draft", "published", "archived"], "type": "string" }, "visibility": { "default": "public", "enum": ["public", "unlisted", "private"], "type": "string" } }, "required": [ "kind", "slugAddress", "language", "title", "cover", "status", "visibility" ] } }, "required": [ "id", "section", "createdResourceAt", "firstContributedAt", "lastContributedAt", "contributionCount", "lastParticipatedAt", "createdAt", "updatedAt", "resourceOwner", "shape", "presentation" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "section": { "type": "string", "const": "tag" }, "createdResourceAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "firstContributedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "lastContributedAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "contributionCount": { "minimum": 0, "type": "integer" }, "lastParticipatedAt": { "type": "string", "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "resourceOwner": { "type": "string", "const": "tag_path" }, "shape": { "minLength": 1, "type": "string" }, "presentation": { "type": "object", "properties": { "kind": { "type": "string", "const": "tag_path" }, "members": { "minItems": 2, "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "ordinal": { "minimum": 0, "type": "integer" }, "nodeId": { "type": "string", "format": "uuid" }, "nodeKind": { "type": "string", "enum": ["concept", "guide"] }, "incomingRelation": { "nullable": true, "type": ["object", "null"], "properties": { "relationId": { "type": "string", "format": "uuid" }, "relationKind": { "default": "generic", "enum": [ "generic", "partitive", "instance", "organizational", "facet_value" ], "type": "string" } }, "required": ["relationId", "relationKind"] }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "ordinal", "nodeId", "nodeKind", "incomingRelation", "language", "title", "summary", "avatar" ] } } }, "required": ["kind", "members"] } }, "required": [ "id", "section", "createdResourceAt", "firstContributedAt", "lastContributedAt", "contributionCount", "lastParticipatedAt", "createdAt", "updatedAt", "resourceOwner", "shape", "presentation" ] } ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiHistoryContribution-resourcesMe", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/units/{unitId}/revisions": { "get": { "summary": "List Unit revisions", "tags": ["History"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorName": { "nullable": true, "type": ["string", "null"] }, "primaryContribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "human" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unattributed" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ai" }, "creditAttribution": { "additionalProperties": false, "type": "object", "properties": { "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": [ "creator", "editor", "translator", "researcher" ], "type": "string" }, "assurance": { "default": "self_declared", "enum": [ "self_declared", "credential_bound", "server_observed" ], "type": "string" } }, "required": ["creditedEntityId", "role", "assurance"] } }, "required": ["kind", "creditAttribution"] } ] }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "minor": { "type": "boolean" }, "byteSize": { "type": "integer" }, "sizeDelta": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "tags": { "type": "array", "items": { "type": "string" } }, "visibility": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "visible" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "suppressed" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] } ] }, "contentAvailable": { "type": "boolean" }, "parentContentAvailable": { "type": "boolean" }, "isCurrent": { "type": "boolean" } }, "required": [ "id", "unitId", "parentRevisionId", "actorProfileId", "actorName", "primaryContribution", "editSummary", "minor", "byteSize", "sizeDelta", "createdAt", "tags", "visibility", "contentAvailable", "parentContentAvailable", "isCurrent" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] }, { "type": "object", "properties": { "capabilities": { "type": "object", "properties": { "canRestore": { "type": "boolean" }, "canModerate": { "type": "boolean" }, "canSuppress": { "type": "boolean" } }, "required": ["canRestore", "canModerate", "canSuppress"] } }, "required": ["capabilities"] } ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidHistoryCursor", "enum": ["InvalidHistoryCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHistoryUnitsByUnitIdRevisions", "x-rezics-quota-route-operation-id": "getApiHistoryUnitsByUnitIdRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/unit-revisions/{revisionId}": { "get": { "summary": "Get Unit revision", "tags": ["History"], "parameters": [ { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorName": { "nullable": true, "type": ["string", "null"] }, "primaryContribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "human" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unattributed" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ai" }, "creditAttribution": { "additionalProperties": false, "type": "object", "properties": { "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" }, "assurance": { "default": "self_declared", "enum": [ "self_declared", "credential_bound", "server_observed" ], "type": "string" } }, "required": ["creditedEntityId", "role", "assurance"] } }, "required": ["kind", "creditAttribution"] } ] }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "minor": { "type": "boolean" }, "byteSize": { "type": "integer" }, "sizeDelta": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "tags": { "type": "array", "items": { "type": "string" } }, "visibility": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "visible" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "suppressed" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] } ] }, "contentAvailable": { "type": "boolean" }, "parentContentAvailable": { "type": "boolean" }, "isCurrent": { "type": "boolean" } }, "required": [ "id", "unitId", "parentRevisionId", "actorProfileId", "actorName", "primaryContribution", "editSummary", "minor", "byteSize", "sizeDelta", "createdAt", "tags", "visibility", "contentAvailable", "parentContentAvailable", "isCurrent" ] }, { "type": "object", "properties": { "slots": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "role": { "type": "string", "enum": [ "main", "content_language_support", "relations", "structure", "rules" ] }, "model": { "type": "string" }, "originRevisionId": { "type": "string", "format": "uuid" }, "content": { "nullable": true, "anyOf": [{}, { "type": "null" }] } }, "required": ["role", "model", "originRevisionId", "content"] }, { "type": "object", "properties": { "role": { "type": "string", "const": "localization" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "model": { "type": "string" }, "originRevisionId": { "type": "string", "format": "uuid" }, "content": { "nullable": true, "anyOf": [{}, { "type": "null" }] } }, "required": [ "role", "language", "model", "originRevisionId", "content" ] } ] } } }, "required": ["slots"] } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitRevisionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHistoryUnit-revisionsByRevisionId", "x-rezics-quota-route-operation-id": "getApiHistoryUnit-revisionsByRevisionId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/units/{unitId}/compare": { "get": { "summary": "Compare Unit revisions", "tags": ["History"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "from", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "to", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "fromRevisionId": { "type": "string", "format": "uuid" }, "toRevisionId": { "type": "string", "format": "uuid" }, "changes": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "before": {}, "after": {} }, "required": ["path"] } } }, "required": ["fromRevisionId", "toRevisionId", "changes"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitRevisionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHistoryUnitsByUnitIdCompare", "x-rezics-quota-route-operation-id": "getApiHistoryUnitsByUnitIdCompare", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/units/{unitId}/revisions/{revisionId}/restore": { "post": { "summary": "Restore Unit revision", "tags": ["History"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "editSummary": { "maxLength": 500, "type": "string" }, "minor": { "default": false, "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["unitId", "revisionId", "revisionCreated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "EntityAssociationRestricted", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": [ "UnitNotFound", "UnitRevisionNotFound", "EntityEntryNotFound", "ImageAssetNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiHistoryUnitsByUnitIdRevisionsByRevisionIdRestore", "x-rezics-quota-route-operation-id": "postApiHistoryUnitsByUnitIdRevisionsByRevisionIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/units/{unitId}/revisions/{revisionId}/undo": { "post": { "summary": "Undo Unit revision", "tags": ["History"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "editSummary": { "maxLength": 500, "type": "string" }, "minor": { "default": false, "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["unitId", "revisionId", "revisionCreated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "EntityAssociationRestricted", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": [ "UnitNotFound", "UnitRevisionNotFound", "EntityEntryNotFound", "ImageAssetNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiHistoryUnitsByUnitIdRevisionsByRevisionIdUndo", "x-rezics-quota-route-operation-id": "postApiHistoryUnitsByUnitIdRevisionsByRevisionIdUndo", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/unit-revisions/{revisionId}/visibility": { "patch": { "summary": "Update revision visibility", "tags": ["History"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "visibility": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "visible" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "suppressed" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] } ] }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } } }, "required": ["visibility", "rules"] } } } }, "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "GovernanceRuleSourceForbidden", "enum": ["GovernanceRuleSourceForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionNotFound", "enum": ["UnitRevisionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CurrentRevisionContentVisibilityForbidden", "enum": [ "CurrentRevisionContentVisibilityForbidden", "GovernanceRuleChanged" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiHistoryUnit-revisionsByRevisionIdVisibility", "x-rezics-quota-route-operation-id": "patchApiHistoryUnit-revisionsByRevisionIdVisibility", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/recent-changes": { "get": { "summary": "List recent platform resource revisions", "tags": ["History"], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } }, { "name": "tag", "in": "query", "required": false, "schema": { "type": "string", "enum": ["mw-undo", "mw-manual-revert"] } }, { "name": "minor", "in": "query", "required": false, "schema": { "anyOf": [{ "type": "boolean" }, { "type": "string" }] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorName": { "nullable": true, "type": ["string", "null"] }, "primaryContribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "human" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unattributed" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ai" }, "creditAttribution": { "additionalProperties": false, "type": "object", "properties": { "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" }, "assurance": { "default": "self_declared", "enum": [ "self_declared", "credential_bound", "server_observed" ], "type": "string" } }, "required": ["creditedEntityId", "role", "assurance"] } }, "required": ["kind", "creditAttribution"] } ] }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "minor": { "type": "boolean" }, "byteSize": { "type": "integer" }, "sizeDelta": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "tags": { "type": "array", "items": { "type": "string" } }, "visibility": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "visible" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "suppressed" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] } ] }, "contentAvailable": { "type": "boolean" }, "parentContentAvailable": { "type": "boolean" }, "isCurrent": { "type": "boolean" } }, "required": [ "id", "unitId", "parentRevisionId", "actorProfileId", "actorName", "primaryContribution", "editSummary", "minor", "byteSize", "sizeDelta", "createdAt", "tags", "visibility", "contentAvailable", "parentContentAvailable", "isCurrent" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidHistoryCursor", "enum": ["InvalidHistoryCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHistoryRecent-changes", "x-rezics-quota-route-operation-id": "getApiHistoryRecent-changes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/contributions/{profileId}": { "get": { "summary": "List platform resource revisions by contributor", "tags": ["History"], "parameters": [ { "name": "profileId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } }, { "name": "tag", "in": "query", "required": false, "schema": { "type": "string", "enum": ["mw-undo", "mw-manual-revert"] } }, { "name": "minor", "in": "query", "required": false, "schema": { "anyOf": [{ "type": "boolean" }, { "type": "string" }] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorName": { "nullable": true, "type": ["string", "null"] }, "primaryContribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "human" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unattributed" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ai" }, "creditAttribution": { "additionalProperties": false, "type": "object", "properties": { "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" }, "assurance": { "default": "self_declared", "enum": [ "self_declared", "credential_bound", "server_observed" ], "type": "string" } }, "required": ["creditedEntityId", "role", "assurance"] } }, "required": ["kind", "creditAttribution"] } ] }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "minor": { "type": "boolean" }, "byteSize": { "type": "integer" }, "sizeDelta": { "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "tags": { "type": "array", "items": { "type": "string" } }, "visibility": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "visible" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "suppressed" }, "hiddenFields": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "content", "enum": ["content", "summary", "actor"], "type": "string" } } }, "required": ["kind", "hiddenFields"] } ] }, "contentAvailable": { "type": "boolean" }, "parentContentAvailable": { "type": "boolean" }, "isCurrent": { "type": "boolean" } }, "required": [ "id", "unitId", "parentRevisionId", "actorProfileId", "actorName", "primaryContribution", "editSummary", "minor", "byteSize", "sizeDelta", "createdAt", "tags", "visibility", "contentAvailable", "parentContentAvailable", "isCurrent" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidHistoryCursor", "enum": ["InvalidHistoryCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHistoryContributionsByProfileId", "x-rezics-quota-route-operation-id": "getApiHistoryContributionsByProfileId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/history/change-tags": { "get": { "summary": "List revision change tags", "tags": ["History"], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "tag": { "type": "string" } }, "required": ["tag"] } } }, "required": ["items"] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiHistoryChange-tags", "x-rezics-quota-route-operation-id": "getApiHistoryChange-tags", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags": { "get": { "summary": "List tags", "tags": ["Tags"], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": ["id", "language", "title", "summary"] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTags", "x-rezics-quota-route-operation-id": "getApiTags", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create tag", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["localization"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiTags", "x-rezics-quota-route-operation-id": "postApiTags", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags/{tagId}": { "get": { "summary": "Get tag detail", "tags": ["Tags"], "parameters": [ { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "localizations": { "minItems": 1, "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "description": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "language", "position", "title", "summary", "description", "avatar", "banner", "cover", "createdAt", "updatedAt" ] } }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" } }, "required": ["canEdit"] } }, "required": [ "id", "language", "avatar", "createdAt", "updatedAt", "localizations", "capabilities" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagNotFound", "enum": ["TagNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiTagsByTagId", "x-rezics-quota-route-operation-id": "getApiTagsByTagId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/tags/{tagId}/localizations/{language}": { "put": { "summary": "Create or replace tag localization", "tags": ["Tags"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["title"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": [ "UnitNotFound", "CatalogReferenceNotFound", "ImageAssetNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiTagsByTagIdLocalizationsByLanguage", "x-rezics-quota-route-operation-id": "putApiTagsByTagIdLocalizationsByLanguage", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/aliases": { "get": { "summary": "List Unit alias references", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "term": { "type": "string" }, "normalizedTerm": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "kind": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "term", "normalizedTerm", "language", "kind", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] }, "curationVersion": { "minimum": 0, "type": "integer" } }, "required": ["items", "nextCursor", "curationVersion"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceLimitReached", "enum": ["UnitReferenceLimitReached"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiResourcesByOwnerByUnitIdAliases", "x-rezics-quota-route-operation-id": "getApiResourcesByOwnerByUnitIdAliases", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Propose Unit alias", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "term": { "minLength": 1, "maxLength": 500, "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "kind": { "type": "string", "enum": [ "common", "abbreviation", "transliteration", "alternate_title", "legacy_title", "misspelling", "other" ] } }, "required": ["term"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "term": { "type": "string" }, "normalizedTerm": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "kind": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "term", "normalizedTerm", "language", "kind", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceLimitReached", "enum": ["UnitReferenceLimitReached", "UnitReferenceWithdrawn"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiResourcesByOwnerByUnitIdAliases", "x-rezics-quota-route-operation-id": "postApiResourcesByOwnerByUnitIdAliases", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/aliases/{aliasId}/vote": { "put": { "summary": "Vote on Unit alias", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aliasId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "value": { "type": "string", "enum": [-1, 1] } }, "required": ["value"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "AliasNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiResourcesByOwnerByUnitIdAliasesByAliasIdVote", "x-rezics-quota-route-operation-id": "putApiResourcesByOwnerByUnitIdAliasesByAliasIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Unit alias vote", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aliasId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "AliasNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdAliasesByAliasIdVote", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdAliasesByAliasIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/aliases/{aliasId}": { "patch": { "summary": "Update Unit Alias curation", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aliasId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "baseVersion": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean", "const": true }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" } }, "required": ["baseVersion", "pinned", "position"] }, { "additionalProperties": false, "type": "object", "properties": { "baseVersion": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean", "const": false }, "position": { "type": "null" } }, "required": ["baseVersion", "pinned", "position"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "reference": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "term": { "type": "string" }, "normalizedTerm": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "kind": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "term", "normalizedTerm", "language", "kind", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt" ] }, "curationVersion": { "minimum": 0, "type": "integer" } }, "required": ["reference", "curationVersion"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "AliasNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceCurationChanged", "enum": [ "UnitReferenceCurationChanged", "UnitReferencePinnedLimitReached" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiResourcesByOwnerByUnitIdAliasesByAliasId", "x-rezics-quota-route-operation-id": "patchApiResourcesByOwnerByUnitIdAliasesByAliasId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Withdraw Unit alias reference", "tags": ["Units"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "AliasNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceCurationChanged", "enum": ["UnitReferenceCurationChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "aliasId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "baseVersion", "in": "query", "required": true, "schema": { "minimum": 0, "type": "integer" } } ], "operationId": "deleteApiResourcesByOwnerByUnitIdAliasesByAliasId", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdAliasesByAliasId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/credit-attributions": { "get": { "operationId": "listResourceCreditAttributions", "summary": "Read accepted credit attributions", "tags": ["Units"], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 2048, "type": "string" } }, { "name": "limit", "in": "query", "required": true, "schema": { "minimum": 1, "maximum": 100, "default": 25, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiResourcesByOwnerByUnitIdCredit-attributions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Add Unit credit attribution", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["creditedEntityId", "role"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CreditAttributionRoleInvalid", "enum": [ "CreditAttributionRoleInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "EntityAssociationRestricted", "ParticipationDenied" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiResourcesByOwnerByUnitIdCredit-attributions", "x-rezics-quota-route-operation-id": "postApiResourcesByOwnerByUnitIdCredit-attributions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/credit-attributions/{associationId}": { "delete": { "summary": "Remove Unit credit attribution", "tags": ["Units"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "CreditAttributionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "associationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdCredit-attributionsByAssociationId", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdCredit-attributionsByAssociationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/subject-associations": { "post": { "summary": "Add Unit subject association", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "entityId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["entityId", "role"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "entityId": { "type": "string", "format": "uuid" }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "default": "primary_character", "enum": [ "primary_character", "featured_character", "appears", "about", "setting", "source_work", "canonical_wiki_page", "related_subject" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "entityId", "contextPostId", "role", "position", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AssociationContextPostInvalid", "enum": [ "AssociationContextPostInvalid", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "EntityAssociationRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiResourcesByOwnerByUnitIdSubject-associations", "x-rezics-quota-route-operation-id": "postApiResourcesByOwnerByUnitIdSubject-associations", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/subject-associations/{associationId}/spoiler": { "put": { "summary": "Judge the spoiler level of a subject association", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "associationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "spoilerLevel": { "type": "string", "enum": [0, 1, 2] } }, "required": ["spoilerLevel"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "associationId": { "type": "string", "format": "uuid" }, "level": { "type": "string", "enum": [0, 1, 2] }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": ["associationId", "level", "voteCount", "distribution", "viewerLevel"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "SubjectAssociationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiResourcesByOwnerByUnitIdSubject-associationsByAssociationIdSpoiler", "x-rezics-quota-route-operation-id": "putApiResourcesByOwnerByUnitIdSubject-associationsByAssociationIdSpoiler", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Clear a subject-association spoiler judgment", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "associationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "associationId": { "type": "string", "format": "uuid" }, "level": { "type": "string", "enum": [0, 1, 2] }, "voteCount": { "minimum": 0, "type": "integer" }, "distribution": { "type": "object", "properties": { "none": { "minimum": 0, "type": "integer" }, "minor": { "minimum": 0, "type": "integer" }, "major": { "minimum": 0, "type": "integer" } }, "required": ["none", "minor", "major"] }, "viewerLevel": { "nullable": true, "type": ["string", "null"], "enum": [0, 1, 2] } }, "required": ["associationId", "level", "voteCount", "distribution", "viewerLevel"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "SubjectAssociationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdSubject-associationsByAssociationIdSpoiler", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdSubject-associationsByAssociationIdSpoiler", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/subject-associations/{associationId}": { "delete": { "summary": "Remove Unit subject association", "tags": ["Units"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "SubjectAssociationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "associationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdSubject-associationsByAssociationId", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdSubject-associationsByAssociationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/external-links": { "get": { "summary": "List Unit external-link references", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "sourceEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt", "sourceEntity" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] }, "curationVersion": { "minimum": 0, "type": "integer" } }, "required": ["items", "nextCursor", "curationVersion"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceLimitReached", "enum": ["UnitReferenceLimitReached"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiResourcesByOwnerByUnitIdExternal-links", "x-rezics-quota-route-operation-id": "getApiResourcesByOwnerByUnitIdExternal-links", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Propose Unit external link", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "url": { "format": "uri", "pattern": "^[Hh][Tt][Tt][Pp][Ss]?://", "type": "string" }, "sourceEntityId": { "type": "string", "format": "uuid" } }, "required": ["url", "sourceEntityId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceLimitReached", "enum": ["UnitReferenceLimitReached", "UnitReferenceWithdrawn"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiResourcesByOwnerByUnitIdExternal-links", "x-rezics-quota-route-operation-id": "postApiResourcesByOwnerByUnitIdExternal-links", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/external-links/{externalLinkId}/vote": { "put": { "summary": "Vote on Unit external link", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "externalLinkId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "value": { "type": "string", "enum": [-1, 1] } }, "required": ["value"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitExternalLinkNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkIdVote", "x-rezics-quota-route-operation-id": "putApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Unit external link vote", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "externalLinkId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitExternalLinkNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkIdVote", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/external-links/{externalLinkId}": { "patch": { "summary": "Update Unit external link curation", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "externalLinkId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "baseVersion": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean", "const": true }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" } }, "required": ["baseVersion", "pinned", "position"] }, { "additionalProperties": false, "type": "object", "properties": { "baseVersion": { "minimum": 0, "type": "integer" }, "pinned": { "type": "boolean", "const": false }, "position": { "type": "null" } }, "required": ["baseVersion", "pinned", "position"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "reference": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "sourceEntityId": { "type": "string", "format": "uuid" }, "url": { "type": "string" }, "normalizedUrl": { "type": "string" }, "normalizedUrlHash": { "type": "string" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "voteSummary": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "unitId", "sourceEntityId", "url", "normalizedUrl", "normalizedUrlHash", "createdByProfileId", "voteSummary", "pinned", "position", "createdAt", "updatedAt" ] }, "curationVersion": { "minimum": 0, "type": "integer" } }, "required": ["reference", "curationVersion"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitExternalLinkNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceCurationChanged", "enum": [ "UnitReferenceCurationChanged", "UnitReferencePinnedLimitReached" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkId", "x-rezics-quota-route-operation-id": "patchApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Withdraw Unit external-link reference", "tags": ["Units"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "UnitExternalLinkNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitReferenceCurationChanged", "enum": ["UnitReferenceCurationChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "externalLinkId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "baseVersion", "in": "query", "required": true, "schema": { "minimum": 0, "type": "integer" } } ], "operationId": "deleteApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkId", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdExternal-linksByExternalLinkId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/tags/{tagId}": { "put": { "summary": "Tag unit", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": {} } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "type": "integer" }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "tagId", "createdByProfileId", "score", "voteCount", "pinned", "position", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": [ "UnitAccessRestricted", "UnitPermissionForbidden", "ContentLabelPlatformApplyForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "TagNotFound", "TagApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagNotDirectlyApplicable", "enum": [ "TagNotDirectlyApplicable", "ContentLabelApplicationInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiResourcesByOwnerByUnitIdTagsByTagId", "x-rezics-quota-route-operation-id": "putApiResourcesByOwnerByUnitIdTagsByTagId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update Unit tag curation", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "pinned": { "type": "boolean", "const": true }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" }, "expectedFeaturedTagIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["pinned", "position", "updatedAt", "expectedFeaturedTagIds"] }, { "additionalProperties": false, "type": "object", "properties": { "pinned": { "type": "boolean", "const": false }, "position": { "type": "null" }, "updatedAt": { "type": "string", "format": "date-time" }, "expectedFeaturedTagIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["pinned", "position", "updatedAt", "expectedFeaturedTagIds"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "type": "integer" }, "pinned": { "type": "boolean" }, "position": { "nullable": true, "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "unitId", "tagId", "createdByProfileId", "score", "voteCount", "pinned", "position", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "UnitPermissionForbidden", "UnitAccessRestricted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "TagApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitTagCurationChanged", "enum": [ "UnitTagCurationChanged", "ContentLabelPlatformIdentityImmutable" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagNotDirectlyApplicable", "enum": [ "TagNotDirectlyApplicable", "ContentLabelApplicationInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiResourcesByOwnerByUnitIdTagsByTagId", "x-rezics-quota-route-operation-id": "patchApiResourcesByOwnerByUnitIdTagsByTagId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Unit tag", "tags": ["Units"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ContentLabelPlatformRemovalForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "TagApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "TagApplicationHasJudgments", "enum": ["TagApplicationHasJudgments"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdTagsByTagId", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdTagsByTagId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/resources/{owner}/{unitId}/tags/{tagId}/vote": { "put": { "summary": "Vote on Unit tag", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "value": { "type": "string", "enum": [-1, 1] } }, "required": ["value"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "TagApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidTagPath", "enum": ["InvalidTagPath", "ContentLabelJudgmentForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiResourcesByOwnerByUnitIdTagsByTagIdVote", "x-rezics-quota-route-operation-id": "putApiResourcesByOwnerByUnitIdTagsByTagIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Unit tag vote", "tags": ["Units"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "owner", "in": "path", "required": true, "schema": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "positiveCount": { "minimum": 0, "type": "integer" }, "negativeCount": { "minimum": 0, "type": "integer" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "asOf": { "nullable": true, "type": ["string", "null"], "format": "date-time" } }, "required": [ "positiveCount", "negativeCount", "score", "voteCount", "viewerVote", "asOf" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitAccessRestricted", "enum": ["UnitAccessRestricted", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "TagApplicationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiResourcesByOwnerByUnitIdTagsByTagIdVote", "x-rezics-quota-route-operation-id": "deleteApiResourcesByOwnerByUnitIdTagsByTagIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures": { "get": { "summary": "List Unit Content Structures", "tags": ["Content Structure"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "ownerUnitId": { "type": "string", "format": "uuid" }, "kind": { "default": "book.contents", "enum": [ "book.contents", "media.contents", "post.contents", "realm.taxonomy", "wiki.navigation", "zone.navigation", "page-structure" ], "type": "string" }, "documentKey": { "nullable": true, "type": ["string", "null"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "ownerUnitId", "kind", "documentKey", "latestRevisionId", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdContent-structures", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdContent-structures", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Content Structure", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "enum": ["book.contents", "media.contents", "post.contents", "realm.taxonomy"] } }, "required": ["kind"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structure": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "ownerUnitId": { "type": "string", "format": "uuid" }, "kind": { "default": "book.contents", "enum": [ "book.contents", "media.contents", "post.contents", "realm.taxonomy", "wiki.navigation", "zone.navigation", "page-structure" ], "type": "string" }, "documentKey": { "nullable": true, "type": ["string", "null"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "ownerUnitId", "kind", "documentKey", "latestRevisionId", "createdAt", "updatedAt" ] }, "revisionCreated": { "type": "boolean" } }, "required": ["structure", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsBy-idByUnitIdContent-structures", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdContent-structures", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures/{structureId}": { "get": { "summary": "Get Content Structure", "tags": ["Content Structure"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "ownerUnitId": { "type": "string", "format": "uuid" }, "kind": { "default": "book.contents", "enum": [ "book.contents", "media.contents", "post.contents", "realm.taxonomy", "wiki.navigation", "zone.navigation", "page-structure" ], "type": "string" }, "documentKey": { "nullable": true, "type": ["string", "null"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "ownerUnitId", "kind", "documentKey", "latestRevisionId", "createdAt", "updatedAt" ] }, { "type": "object", "properties": { "nodes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "structureId": { "type": "string", "format": "uuid" }, "ownerUnitId": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "documentKey": { "nullable": true, "type": ["string", "null"] }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string" } }, "required": ["kind", "url"] } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentRating": { "nullable": true, "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": ["string", "null"] }, "realmTagQueryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "structureId", "ownerUnitId", "parentId", "contentUnitId", "documentKey", "target", "position", "contentRating", "realmTagQueryStrategy", "createdAt", "updatedAt" ] } } }, "required": ["nodes"] } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdContent-structuresByStructureId", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdContent-structuresByStructureId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete Content Structure", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean", "const": true }, "latestRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["updated", "latestRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiUnitsBy-idByUnitIdContent-structuresByStructureId", "x-rezics-quota-route-operation-id": "deleteApiUnitsBy-idByUnitIdContent-structuresByStructureId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures/{structureId}/revisions": { "get": { "summary": "List Content Structure revisions", "tags": ["Content Structure"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "sourceRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "kind": { "default": "create", "enum": ["create", "update", "delete", "restore"], "type": "string" }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "minor": { "type": "boolean" }, "replayByteSize": { "minimum": 0, "type": "integer" }, "checkpointByteSize": { "minimum": 0, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "parentRevisionId", "sourceRevisionId", "actorProfileId", "kind", "editSummary", "minor", "replayByteSize", "checkpointByteSize", "createdAt" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiUnitsBy-idByUnitIdContent-structuresByStructureIdRevisions", "x-rezics-quota-route-operation-id": "getApiUnitsBy-idByUnitIdContent-structuresByStructureIdRevisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures/{structureId}/revisions/{revisionId}/restore": { "post": { "summary": "Restore a Content Structure revision", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "message": { "maxLength": 500, "type": "string" }, "minor": { "type": "boolean" } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean", "const": true }, "latestRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["updated", "latestRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsBy-idByUnitIdContent-structuresByStructureIdRevisionsByRevisionIdRestore", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdContent-structuresByStructureIdRevisionsByRevisionIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures/{structureId}/nodes/batch": { "post": { "summary": "Apply an atomic Content Structure node command batch", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "changes": { "minItems": 1, "maxItems": 10000, "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "node.create" }, "nodeId": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "documentKey": { "nullable": true, "pattern": "^[0-9a-f]{12}$", "type": ["string", "null"] }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "minLength": 1, "maxLength": 2000, "pattern": "^https://", "type": "string" } }, "required": ["kind", "url"] } ] }, "placement": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "start", "enum": ["start", "end"], "type": "string" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "before", "enum": ["before", "after"], "type": "string" }, "nodeId": { "type": "string", "format": "uuid" } }, "required": ["kind", "nodeId"] } ] }, "contentRating": { "nullable": true, "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": ["string", "null"] }, "realmTagQueryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] } }, "required": ["opId", "type", "nodeId", "parentId", "contentUnitId"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "node.update" }, "nodeId": { "type": "string", "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "documentKey": { "nullable": true, "pattern": "^[0-9a-f]{12}$", "type": ["string", "null"] }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "minLength": 1, "maxLength": 2000, "pattern": "^https://", "type": "string" } }, "required": ["kind", "url"] } ] }, "contentRating": { "nullable": true, "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": ["string", "null"] }, "realmTagQueryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] } }, "required": ["opId", "type", "nodeId"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "node.move" }, "nodeId": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "placement": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "start", "enum": ["start", "end"], "type": "string" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "before", "enum": ["before", "after"], "type": "string" }, "nodeId": { "type": "string", "format": "uuid" } }, "required": ["kind", "nodeId"] } ] } }, "required": ["opId", "type", "nodeId"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "nodes.swap" }, "leftNodeId": { "type": "string", "format": "uuid" }, "rightNodeId": { "type": "string", "format": "uuid" } }, "required": ["opId", "type", "leftNodeId", "rightNodeId"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "node.deleteSubtree" }, "nodeId": { "type": "string", "format": "uuid" } }, "required": ["opId", "type", "nodeId"] } ] } } }, "required": ["baseRevisionId", "changes"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "results": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "opId": { "type": "string" }, "applied": { "type": "boolean", "const": true } }, "required": ["opId", "applied"] } }, "latestRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["results", "latestRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodesBatch", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodesBatch", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures/{structureId}/nodes": { "post": { "summary": "Insert Content Structure node", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "parentId": { "type": "string", "format": "uuid" }, "content": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "label" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" } }, "required": ["kind", "language", "title"] } ] }, "documentKey": { "pattern": "^[0-9a-f]{12}$", "type": "string" }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "minLength": 1, "maxLength": 2000, "pattern": "^https://", "type": "string" } }, "required": ["kind", "url"] } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" }, "contentRating": { "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": "string" }, "realmTagQueryStrategy": { "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["baseRevisionId", "content"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "node": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "structureId": { "type": "string", "format": "uuid" }, "ownerUnitId": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "documentKey": { "nullable": true, "type": ["string", "null"] }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string" } }, "required": ["kind", "url"] } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentRating": { "nullable": true, "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": ["string", "null"] }, "realmTagQueryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "structureId", "ownerUnitId", "parentId", "contentUnitId", "documentKey", "target", "position", "contentRating", "realmTagQueryStrategy", "createdAt", "updatedAt" ] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["node", "latestRevisionId", "revisionCreated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodes", "x-rezics-quota-route-operation-id": "postApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/units/by-id/{unitId}/content-structures/{structureId}/nodes/{nodeId}": { "patch": { "summary": "Update Content Structure node", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "minProperties": 2, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "documentKey": { "nullable": true, "pattern": "^[0-9a-f]{12}$", "type": ["string", "null"] }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "minLength": 1, "maxLength": 2000, "pattern": "^https://", "type": "string" } }, "required": ["kind", "url"] } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" }, "contentRating": { "nullable": true, "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": ["string", "null"] }, "realmTagQueryStrategy": { "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": "string" } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "node": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "structureId": { "type": "string", "format": "uuid" }, "ownerUnitId": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "documentKey": { "nullable": true, "type": ["string", "null"] }, "target": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "content" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "external" }, "url": { "type": "string" } }, "required": ["kind", "url"] } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentRating": { "nullable": true, "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": ["string", "null"] }, "realmTagQueryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "structureId", "ownerUnitId", "parentId", "contentUnitId", "documentKey", "target", "position", "contentRating", "realmTagQueryStrategy", "createdAt", "updatedAt" ] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["node", "latestRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodesByNodeId", "x-rezics-quota-route-operation-id": "patchApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodesByNodeId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete Content Structure node subtree", "tags": ["Content Structure"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "structureId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean", "const": true }, "latestRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["updated", "latestRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "RealmCapabilityRequired", "UnitPermissionForbidden", "PlatformCapabilityRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodesByNodeId", "x-rezics-quota-route-operation-id": "deleteApiUnitsBy-idByUnitIdContent-structuresByStructureIdNodesByNodeId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/publishing/text-versions/{unitId}/content-structure/nodes": { "get": { "operationId": "listTextVersionContentNodes", "summary": "List TextVersion content occurrences", "tags": ["Content Structure"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "items": { "maxItems": 2048, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "reference": { "type": "object", "properties": { "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" } }, "required": ["owner", "id", "shape"] }, "contentKind": { "default": "text_version", "enum": [ "text_version", "chapter", "program", "video", "audio", "label" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "languageTag": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentMetrics": { "nullable": true, "type": ["object", "null"], "properties": { "wordCount": { "minimum": 0, "type": "integer" }, "characterCount": { "minimum": 0, "type": "integer" } }, "required": ["wordCount", "characterCount"] }, "durationSeconds": { "nullable": true, "minimum": 0, "type": ["number", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "reference", "contentKind", "language", "languageTag", "title", "position", "contentMetrics", "durationSeconds" ] } } }, "required": ["structureId", "latestRevisionId", "items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "BookNotFound", "enum": ["BookNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiPublishingText-versionsByUnitIdContent-structureNodes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/publishing/text-versions/{unitId}/content-structure": { "put": { "operationId": "saveTextVersionContentDraft", "summary": "Save a TextVersion content draft", "tags": ["Content Structure"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "nodes": { "maxItems": 2048, "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "existing" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "expectedTitle": { "nullable": true, "maxLength": 500, "type": ["string", "null"] } }, "required": ["state", "id", "parentId", "order"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "new" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "contentKind": { "type": "string", "const": "label" } }, "required": [ "state", "id", "parentId", "order", "title", "language", "contentKind" ] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "new" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "contentKind": { "type": "string", "const": "chapter" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "status": { "type": "string", "enum": ["draft", "published"] }, "ownershipMode": { "enum": ["profile_owned", "community_owned"], "type": "string" } }, "required": [ "state", "id", "parentId", "order", "title", "language", "contentKind", "content", "status" ] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "attached" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "contentUnitId": { "type": "string", "format": "uuid" } }, "required": ["state", "id", "parentId", "order", "contentUnitId"] } ] } } }, "required": ["baseRevisionId", "nodes"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "items": { "maxItems": 2048, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "reference": { "type": "object", "properties": { "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" } }, "required": ["owner", "id", "shape"] }, "contentKind": { "default": "text_version", "enum": [ "text_version", "chapter", "program", "video", "audio", "label" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "languageTag": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentMetrics": { "nullable": true, "type": ["object", "null"], "properties": { "wordCount": { "minimum": 0, "type": "integer" }, "characterCount": { "minimum": 0, "type": "integer" } }, "required": ["wordCount", "characterCount"] }, "durationSeconds": { "nullable": true, "minimum": 0, "type": ["number", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "reference", "contentKind", "language", "languageTag", "title", "position", "contentMetrics", "durationSeconds" ] } }, "revisionCreated": { "type": "boolean" } }, "required": ["structureId", "latestRevisionId", "items", "revisionCreated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PostTargetingLocked", "enum": [ "PostTargetingLocked", "PostTagMentionVoteConflict", "ContentStructureRevisionConflict" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiPublishingText-versionsByUnitIdContent-structure", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/program/{unitId}/content-structure/nodes": { "get": { "operationId": "listProgramContentNodes", "summary": "List Program content occurrences", "tags": ["Content Structure"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "items": { "maxItems": 2048, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "reference": { "type": "object", "properties": { "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" } }, "required": ["owner", "id", "shape"] }, "contentKind": { "default": "text_version", "enum": [ "text_version", "chapter", "program", "video", "audio", "label" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "languageTag": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentMetrics": { "nullable": true, "type": ["object", "null"], "properties": { "wordCount": { "minimum": 0, "type": "integer" }, "characterCount": { "minimum": 0, "type": "integer" } }, "required": ["wordCount", "characterCount"] }, "durationSeconds": { "nullable": true, "minimum": 0, "type": ["number", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "reference", "contentKind", "language", "languageTag", "title", "position", "contentMetrics", "durationSeconds" ] } } }, "required": ["structureId", "latestRevisionId", "items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "MediaNotFound", "enum": ["MediaNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiProgramByUnitIdContent-structureNodes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/program/{unitId}/content-structure": { "put": { "operationId": "saveProgramContentDraft", "summary": "Save a Program content draft", "tags": ["Content Structure"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "base": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "uninitialized" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "revision" }, "revisionId": { "type": "string", "format": "uuid" } }, "required": ["kind", "revisionId"] } ] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "nodes": { "maxItems": 2048, "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "existing" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "expectedTitle": { "nullable": true, "maxLength": 500, "type": ["string", "null"] } }, "required": ["state", "id", "parentId", "order"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "new" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "contentKind": { "default": "video", "enum": ["video", "audio", "label"], "type": "string" } }, "required": [ "state", "id", "parentId", "order", "title", "language", "contentKind" ] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "attached" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "contentUnitId": { "type": "string", "format": "uuid" } }, "required": ["state", "id", "parentId", "order", "contentUnitId"] } ] } } }, "required": ["base", "nodes"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "items": { "maxItems": 2048, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "reference": { "type": "object", "properties": { "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" } }, "required": ["owner", "id", "shape"] }, "contentKind": { "default": "text_version", "enum": [ "text_version", "chapter", "program", "video", "audio", "label" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "languageTag": { "nullable": true, "maxLength": 255, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "contentMetrics": { "nullable": true, "type": ["object", "null"], "properties": { "wordCount": { "minimum": 0, "type": "integer" }, "characterCount": { "minimum": 0, "type": "integer" } }, "required": ["wordCount", "characterCount"] }, "durationSeconds": { "nullable": true, "minimum": 0, "type": ["number", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "reference", "contentKind", "language", "languageTag", "title", "position", "contentMetrics", "durationSeconds" ] } }, "revisionCreated": { "type": "boolean" } }, "required": ["structureId", "latestRevisionId", "items", "revisionCreated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiProgramByUnitIdContent-structure", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/publishing/text-versions/{bookId}/content-nodes/{nodeId}": { "get": { "operationId": "readTextVersionChapterNode", "summary": "Read a Chapter occurrence in a TextVersion", "tags": ["Publishing"], "parameters": [ { "name": "bookId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "language", "in": "query", "required": false, "schema": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "nodeId": { "type": "string", "format": "uuid" }, "bookId": { "type": "string", "format": "uuid" }, "chapterId": { "type": "string", "format": "uuid" }, "title": { "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "availableLanguages": { "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "content": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "contentMetrics": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "wordCount": { "minimum": 0, "type": "integer" }, "characterCount": { "minimum": 0, "type": "integer" } }, "required": ["wordCount", "characterCount"] }, "status": { "nullable": true, "default": "draft", "enum": ["draft", "published", "archived"], "type": ["string", "null"] }, "updatedAt": { "type": "string", "format": "date-time" }, "previousNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "nextNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "capabilities": { "type": "object", "properties": { "canReply": { "type": "boolean" } }, "required": ["canReply"] } }, "required": [ "nodeId", "bookId", "chapterId", "title", "position", "language", "availableLanguages", "content", "contentMetrics", "status", "updatedAt", "previousNodeId", "nextNodeId", "capabilities" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ChapterNotFound", "enum": ["ChapterNotFound", "ChapterLanguageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "getApiPublishingText-versionsByBookIdContent-nodesByNodeId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/chapters/{chapterId}/localizations/{language}/content": { "put": { "summary": "Create or replace chapter content", "tags": ["Books"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "chapterId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "language", "in": "path", "required": true, "schema": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "baseRevisionId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["title", "content", "status", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean" } }, "required": ["updated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden", "ParticipationDenied"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict", "PostTagMentionVoteConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiChaptersByChapterIdLocalizationsByLanguageContent", "x-rezics-quota-route-operation-id": "putApiChaptersByChapterIdLocalizationsByLanguageContent", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress": { "get": { "summary": "List current profile progress", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "status", "in": "query", "required": false, "schema": { "type": "string", "enum": ["backlog", "active", "paused", "completed", "dropped"] } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "nextCursor": { "nullable": true, "type": ["string", "null"] }, "items": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "type": "number" }, "completedCount": { "type": "integer" }, "totalTimeMs": { "type": "integer" }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "lastReadAnchor": { "nullable": true, "anyOf": [{}, { "type": "null" }] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "unitId", "status", "progress", "completedCount", "totalTimeMs", "firstSeenAt", "lastSeenAt", "lastContentStructureNodeId", "lastReadAnchor", "visibility", "owner", "shape", "language", "title" ] } } }, "required": ["nextCursor", "items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiProgress", "x-rezics-quota-route-operation-id": "getApiProgress", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/search/filter": { "get": { "summary": "Get the Progress Filter definition", "tags": ["Progress", "Search"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchFeatureDefinition" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiProgressSearchFilter", "x-rezics-quota-route-operation-id": "getApiProgressSearchFilter", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/search": { "post": { "summary": "Search current profile progress with a Search Feature state", "tags": ["Progress", "Search"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "injections": { "type": "array", "items": { "type": "object", "required": ["source", "value", "removable"], "properties": { "source": { "type": "string", "enum": ["tag", "link"] }, "value": { "type": "object", "required": ["controlKey", "filter"], "properties": { "controlKey": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "filter": { "$ref": "#/components/schemas/SearchControlPredicate" } }, "additionalProperties": false, "$id": "SearchControlValue" }, "removable": { "type": "boolean", "default": true } }, "additionalProperties": false, "$id": "SearchInjection" }, "maxItems": 50 }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["injections", "state"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "unitId": { "type": "string", "format": "uuid" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completedCount": { "minimum": 0, "type": "integer" }, "totalTimeMs": { "minimum": 0, "type": "integer" }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "lastReadAnchor": { "nullable": true, "anyOf": [{}, { "type": "null" }] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "unitId", "status", "progress", "completedCount", "totalTimeMs", "firstSeenAt", "lastSeenAt", "lastContentStructureNodeId", "lastReadAnchor", "visibility", "owner", "shape", "language", "title", "summary", "cover" ] } }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["items", "total"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiProgressSearch", "x-rezics-quota-route-operation-id": "postApiProgressSearch", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}": { "get": { "summary": "Get progress state", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "untracked" } }, "required": ["state"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "tracked" }, "record": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "type": "number" }, "isDeleted": { "type": "boolean" }, "completedCount": { "type": "integer" }, "totalTimeMs": { "type": "integer" }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "currentEntryId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "lastReadAnchor": { "nullable": true, "anyOf": [{}, { "type": "null" }] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "authUserId", "unitId", "status", "progress", "isDeleted", "completedCount", "totalTimeMs", "firstSeenAt", "lastSeenAt", "lastContentStructureNodeId", "currentEntryId", "lastReadAnchor", "visibility", "createdAt", "updatedAt" ] }, "continuation": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "text-version-node" }, "textVersionId": { "type": "string", "format": "uuid" }, "nodeId": { "type": "string", "format": "uuid" } }, "required": ["kind", "textVersionId", "nodeId"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "contentUnit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "video", "enum": ["video", "audio"], "type": "string" }, "shape": { "default": "video", "enum": ["video", "audio"], "type": "string" } }, "required": ["id", "owner", "shape"] } }, "required": ["kind", "contentUnit"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "contents" }, "ownerUnit": { "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": ["publishing", "program"], "type": "string" }, "shape": { "default": "text_version", "enum": ["text_version", "program"], "type": "string" } }, "required": ["id", "owner", "shape"] } }, "required": ["kind", "ownerUnit"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "none" } }, "required": ["kind"] } ] } }, "required": ["state", "record", "continuation"] } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiProgressByUnitId", "x-rezics-quota-route-operation-id": "getApiProgressByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Create or replace progress", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "status": { "type": "string", "enum": ["backlog", "active", "paused", "completed", "dropped"] }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "totalTimeMs": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" } }, "required": ["status"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "type": "number" }, "isDeleted": { "type": "boolean" }, "completedCount": { "type": "integer" }, "totalTimeMs": { "type": "integer" }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "currentEntryId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "lastReadAnchor": { "nullable": true, "anyOf": [{}, { "type": "null" }] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "authUserId", "unitId", "status", "progress", "isDeleted", "completedCount", "totalTimeMs", "firstSeenAt", "lastSeenAt", "lastContentStructureNodeId", "currentEntryId", "lastReadAnchor", "visibility", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNodeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiProgressByUnitId", "x-rezics-quota-route-operation-id": "putApiProgressByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete progress", "tags": ["Progress"], "responses": { "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiProgressByUnitId", "x-rezics-quota-route-operation-id": "deleteApiProgressByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/entries": { "get": { "summary": "List Progress journal entries", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 30, "type": "integer" } }, { "name": "status", "in": "query", "required": false, "schema": { "type": "string", "enum": ["backlog", "active", "paused", "completed", "dropped"] } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completionDelta": { "minimum": 0, "maximum": 1, "type": "integer" }, "totalTimeMs": { "minimum": 0, "type": "integer" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentStructureRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" }, "reviewId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "authUserId", "unitId", "entryKind", "status", "progress", "completionDelta", "totalTimeMs", "lastContentStructureNodeId", "contentStructureRevisionId", "occurredAt", "datePrecision", "reviewId", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiProgressByUnitIdEntries", "x-rezics-quota-route-operation-id": "getApiProgressByUnitIdEntries", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create a Progress journal entry", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "type": "string", "enum": ["backlog", "active", "paused", "completed", "dropped"] }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "totalTimeMs": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" } }, "required": ["entryKind", "status", "occurredAt", "datePrecision"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completionDelta": { "minimum": 0, "maximum": 1, "type": "integer" }, "totalTimeMs": { "minimum": 0, "type": "integer" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentStructureRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" }, "reviewId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "authUserId", "unitId", "entryKind", "status", "progress", "completionDelta", "totalTimeMs", "lastContentStructureNodeId", "contentStructureRevisionId", "occurredAt", "datePrecision", "reviewId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNodeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiProgressByUnitIdEntries", "x-rezics-quota-route-operation-id": "postApiProgressByUnitIdEntries", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/entries/{entryId}": { "put": { "summary": "Replace a Progress journal entry", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "entryId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "type": "string", "enum": ["backlog", "active", "paused", "completed", "dropped"] }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "totalTimeMs": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" } }, "required": ["entryKind", "status", "occurredAt", "datePrecision"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completionDelta": { "minimum": 0, "maximum": 1, "type": "integer" }, "totalTimeMs": { "minimum": 0, "type": "integer" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentStructureRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" }, "reviewId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "authUserId", "unitId", "entryKind", "status", "progress", "completionDelta", "totalTimeMs", "lastContentStructureNodeId", "contentStructureRevisionId", "occurredAt", "datePrecision", "reviewId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": [ "UnitNotFound", "ProgressEntryNotFound", "ContentStructureNodeNotFound" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiProgressByUnitIdEntriesByEntryId", "x-rezics-quota-route-operation-id": "putApiProgressByUnitIdEntriesByEntryId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete a Progress journal entry", "tags": ["Progress"], "responses": { "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ProgressEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "entryId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiProgressByUnitIdEntriesByEntryId", "x-rezics-quota-route-operation-id": "deleteApiProgressByUnitIdEntriesByEntryId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/entries/{entryId}/current": { "put": { "summary": "Set a Progress journal entry as current", "tags": ["Progress"], "responses": { "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ProgressEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "entryId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "putApiProgressByUnitIdEntriesByEntryIdCurrent", "x-rezics-quota-route-operation-id": "putApiProgressByUnitIdEntriesByEntryIdCurrent", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/nodes": { "get": { "summary": "List completed Content Structure nodes", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "nodeId": { "type": "string", "format": "uuid" }, "completedAt": { "type": "string", "format": "date-time" } }, "required": ["nodeId", "completedAt"] } } }, "required": ["items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiProgressByUnitIdNodes", "x-rezics-quota-route-operation-id": "getApiProgressByUnitIdNodes", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/nodes/{nodeId}/read": { "post": { "summary": "Record a Book chapter read", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "completed": { "type": "boolean", "const": true }, "journalEntryCreated": { "type": "boolean" }, "record": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "type": "number" }, "isDeleted": { "type": "boolean" }, "completedCount": { "type": "integer" }, "totalTimeMs": { "type": "integer" }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "currentEntryId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "lastReadAnchor": { "nullable": true, "anyOf": [{}, { "type": "null" }] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "authUserId", "unitId", "status", "progress", "isDeleted", "completedCount", "totalTimeMs", "firstSeenAt", "lastSeenAt", "lastContentStructureNodeId", "currentEntryId", "lastReadAnchor", "visibility", "createdAt", "updatedAt" ] } }, "required": ["completed", "journalEntryCreated", "record"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNodeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiProgressByUnitIdNodesByNodeIdRead", "x-rezics-quota-route-operation-id": "postApiProgressByUnitIdNodesByNodeIdRead", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/complete": { "post": { "summary": "Complete current progress", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "totalTimeMs": { "minimum": 0, "maximum": 9007199254740991, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "authUserId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "type": "number" }, "isDeleted": { "type": "boolean" }, "completedCount": { "type": "integer" }, "totalTimeMs": { "type": "integer" }, "firstSeenAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "lastContentStructureNodeId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "currentEntryId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "lastReadAnchor": { "nullable": true, "anyOf": [{}, { "type": "null" }] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "authUserId", "unitId", "status", "progress", "isDeleted", "completedCount", "totalTimeMs", "firstSeenAt", "lastSeenAt", "lastContentStructureNodeId", "currentEntryId", "lastReadAnchor", "visibility", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiProgressByUnitIdComplete", "x-rezics-quota-route-operation-id": "postApiProgressByUnitIdComplete", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/progress/{unitId}/nodes/{nodeId}": { "put": { "summary": "Complete Content Structure node", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "completed": { "type": "boolean" } }, "required": ["completed"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNodeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiProgressByUnitIdNodesByNodeId", "x-rezics-quota-route-operation-id": "putApiProgressByUnitIdNodesByNodeId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Uncomplete Content Structure node", "tags": ["Progress"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "nodeId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "completed": { "type": "boolean" } }, "required": ["completed"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ContentStructureNodeNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiProgressByUnitIdNodesByNodeId", "x-rezics-quota-route-operation-id": "deleteApiProgressByUnitIdNodesByNodeId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections": { "get": { "summary": "List collections", "tags": ["Collections"], "parameters": [ { "name": "publisherProfileId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "editableOnly", "in": "query", "required": false, "schema": { "type": "boolean" } }, { "name": "targetId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "containsTargetId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "acceptsItemsOnly", "in": "query", "required": false, "schema": { "type": "boolean" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "search", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 200, "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 4096, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "itemCount": { "type": "integer" }, "containsTarget": { "type": "boolean" }, "acceptsItems": { "type": "boolean" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "latestRevisionId": { "type": "string", "format": "uuid" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "language", "itemCount", "containsTarget", "acceptsItems", "attributions", "latestRevisionId", "latestItemsRevisionId", "title", "summary", "cover", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountSuspended", "AccountClosed", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCollections", "x-rezics-quota-route-operation-id": "getApiCollections", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create collection", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["localization"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "itemCount": { "type": "integer" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["language", "title", "summary", "avatar", "banner", "cover"] } }, "capabilities": { "type": "object", "properties": { "canEditDetails": { "type": "boolean" }, "canManageItems": { "type": "boolean" }, "canManagePublishers": { "type": "boolean" }, "canManageLocalizations": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canViewHistory": { "type": "boolean" }, "canRestoreHistory": { "type": "boolean" } }, "required": [ "canEditDetails", "canManageItems", "canManagePublishers", "canManageLocalizations", "canManageAccess", "canManageRealmPublications", "canViewHistory", "canRestoreHistory" ] } }, "required": [ "id", "status", "visibility", "language", "itemCount", "attributions", "cover", "latestRevisionId", "latestItemsRevisionId", "createdAt", "updatedAt", "localizations", "capabilities" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCollections", "x-rezics-quota-route-operation-id": "postApiCollections", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/items": { "get": { "summary": "List hydrated collection content", "tags": ["Collections"], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 4096, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "membership": { "type": "object", "properties": { "targetId": { "type": "string", "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": ["targetId", "position", "createdAt"] }, "content": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } }, "required": ["membership", "content"] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountSuspended", "AccountClosed", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCollectionsByCollectionIdItems", "x-rezics-quota-route-operation-id": "getApiCollectionsByCollectionIdItems", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}": { "get": { "summary": "Get collection", "tags": ["Collections"], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "itemCount": { "type": "integer" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["language", "title", "summary", "avatar", "banner", "cover"] } }, "capabilities": { "type": "object", "properties": { "canEditDetails": { "type": "boolean" }, "canManageItems": { "type": "boolean" }, "canManagePublishers": { "type": "boolean" }, "canManageLocalizations": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canViewHistory": { "type": "boolean" }, "canRestoreHistory": { "type": "boolean" } }, "required": [ "canEditDetails", "canManageItems", "canManagePublishers", "canManageLocalizations", "canManageAccess", "canManageRealmPublications", "canViewHistory", "canRestoreHistory" ] } }, "required": [ "id", "status", "visibility", "language", "itemCount", "attributions", "cover", "latestRevisionId", "latestItemsRevisionId", "createdAt", "updatedAt", "localizations", "capabilities" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountSuspended", "AccountClosed", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCollectionsByCollectionId", "x-rezics-quota-route-operation-id": "getApiCollectionsByCollectionId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update collection", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "itemCount": { "type": "integer" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "latestRevisionId": { "type": "string", "format": "uuid" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["language", "title", "summary", "avatar", "banner", "cover"] } }, "capabilities": { "type": "object", "properties": { "canEditDetails": { "type": "boolean" }, "canManageItems": { "type": "boolean" }, "canManagePublishers": { "type": "boolean" }, "canManageLocalizations": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canViewHistory": { "type": "boolean" }, "canRestoreHistory": { "type": "boolean" } }, "required": [ "canEditDetails", "canManageItems", "canManagePublishers", "canManageLocalizations", "canManageAccess", "canManageRealmPublications", "canViewHistory", "canRestoreHistory" ] } }, "required": [ "id", "status", "visibility", "language", "itemCount", "attributions", "cover", "latestRevisionId", "latestItemsRevisionId", "createdAt", "updatedAt", "localizations", "capabilities" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiCollectionsByCollectionId", "x-rezics-quota-route-operation-id": "patchApiCollectionsByCollectionId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/items/batch-update": { "post": { "summary": "Apply an atomic mixed Collection item command batch", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseItemsRevisionId": { "type": "string", "format": "uuid" }, "changes": { "minItems": 1, "maxItems": 10000, "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "item.add" }, "targetId": { "type": "string", "format": "uuid" } }, "required": ["opId", "type", "targetId"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "item.remove" }, "targetId": { "type": "string", "format": "uuid" } }, "required": ["opId", "type", "targetId"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "items.move" }, "targetIds": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "placement": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "start", "enum": ["start", "end"], "type": "string" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "before", "enum": ["before", "after"], "type": "string" }, "targetId": { "type": "string", "format": "uuid" } }, "required": ["kind", "targetId"] } ] } }, "required": ["opId", "type", "targetIds", "placement"] }, { "additionalProperties": false, "type": "object", "properties": { "opId": { "minLength": 1, "maxLength": 100, "type": "string" }, "type": { "type": "string", "const": "items.swap" }, "leftTargetId": { "type": "string", "format": "uuid" }, "rightTargetId": { "type": "string", "format": "uuid" } }, "required": ["opId", "type", "leftTargetId", "rightTargetId"] } ] } } }, "required": ["baseItemsRevisionId", "changes"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "results": { "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "opId": { "type": "string" }, "applied": { "type": "boolean", "const": true }, "itemState": { "default": "created", "enum": ["created", "existing"], "type": "string" } }, "required": ["opId", "applied"] } }, "latestItemsRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["results", "latestItemsRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCollectionsByCollectionIdItemsBatch-update", "x-rezics-quota-route-operation-id": "postApiCollectionsByCollectionIdItemsBatch-update", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/items/batch": { "post": { "summary": "Add collection items atomically", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseItemsRevisionId": { "type": "string", "format": "uuid" }, "items": { "minItems": 1, "maxItems": 10000, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "targetId": { "type": "string", "format": "uuid" } }, "required": ["targetId"] } } }, "required": ["baseItemsRevisionId", "items"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "targetId": { "type": "string", "format": "uuid" }, "state": { "default": "created", "enum": ["created", "existing"], "type": "string" } }, "required": ["targetId", "state"] } }, "latestItemsRevisionId": { "type": "string", "format": "uuid" } }, "required": ["items", "latestItemsRevisionId"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCollectionsByCollectionIdItemsBatch", "x-rezics-quota-route-operation-id": "postApiCollectionsByCollectionIdItemsBatch", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/items/move": { "post": { "summary": "Move collection items atomically", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseItemsRevisionId": { "type": "string", "format": "uuid" }, "targetIds": { "minItems": 1, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "placement": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "start", "enum": ["start", "end"], "type": "string" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "after" }, "targetId": { "type": "string", "format": "uuid" } }, "required": ["kind", "targetId"] } ] } }, "required": ["baseItemsRevisionId", "targetIds", "placement"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "saved": { "type": "boolean" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" } }, "required": ["saved", "latestItemsRevisionId"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCollectionsByCollectionIdItemsMove", "x-rezics-quota-route-operation-id": "postApiCollectionsByCollectionIdItemsMove", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/items/{targetId}": { "put": { "summary": "Save collection item", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "targetId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseItemsRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseItemsRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "saved": { "type": "boolean" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" } }, "required": ["saved", "latestItemsRevisionId"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiCollectionsByCollectionIdItemsByTargetId", "x-rezics-quota-route-operation-id": "putApiCollectionsByCollectionIdItemsByTargetId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove collection item", "tags": ["Collections"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "targetId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseItemsRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseItemsRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "saved": { "type": "boolean" }, "latestItemsRevisionId": { "type": "string", "format": "uuid" } }, "required": ["saved", "latestItemsRevisionId"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiCollectionsByCollectionIdItemsByTargetId", "x-rezics-quota-route-operation-id": "deleteApiCollectionsByCollectionIdItemsByTargetId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/item-revisions": { "get": { "summary": "List Collection item revisions", "tags": ["Collections"], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "sourceRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "actorProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "kind": { "default": "create", "enum": ["create", "update", "restore"], "type": "string" }, "editSummary": { "nullable": true, "type": ["string", "null"] }, "minor": { "type": "boolean" }, "replayByteSize": { "minimum": 0, "type": "integer" }, "checkpointByteSize": { "minimum": 0, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "parentRevisionId", "sourceRevisionId", "actorProfileId", "kind", "editSummary", "minor", "replayByteSize", "checkpointByteSize", "createdAt" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountSuspended", "AccountClosed", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCollectionsByCollectionIdItem-revisions", "x-rezics-quota-route-operation-id": "getApiCollectionsByCollectionIdItem-revisions", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/item-revisions/compare": { "get": { "summary": "Compare Collection item revisions", "tags": ["Collections"], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "from", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "to", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "fromRevisionId": { "type": "string", "format": "uuid" }, "toRevisionId": { "type": "string", "format": "uuid" }, "changes": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "before": {}, "after": {} }, "required": ["path"] } } }, "required": ["fromRevisionId", "toRevisionId", "changes"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountSuspended", "AccountClosed", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiCollectionsByCollectionIdItem-revisionsCompare", "x-rezics-quota-route-operation-id": "getApiCollectionsByCollectionIdItem-revisionsCompare", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/collections/{collectionId}/item-revisions/{revisionId}/restore": { "post": { "summary": "Restore a Collection item revision", "tags": ["Collections"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "collectionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseItemsRevisionId": { "type": "string", "format": "uuid" }, "message": { "maxLength": 500, "type": "string" }, "minor": { "default": false, "type": "boolean" } }, "required": ["baseItemsRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "updated": { "type": "boolean", "const": true }, "latestItemsRevisionId": { "type": "string", "format": "uuid" }, "revisionCreated": { "type": "boolean" } }, "required": ["updated", "latestItemsRevisionId", "revisionCreated"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": [ "UnitPermissionForbidden", "UnitAccessRestricted", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed", "EmailVerificationRequired", "ApiTokenPermissionRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionNotFound", "enum": ["CollectionNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "CollectionStructureRevisionConflict", "enum": ["CollectionStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiCollectionsByCollectionIdItem-revisionsByRevisionIdRestore", "x-rezics-quota-route-operation-id": "postApiCollectionsByCollectionIdItem-revisionsByRevisionIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/favorites": { "get": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "afterPosition", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "default": 30, "type": "integer", "minimum": 1, "maximum": 100 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "items": { "type": "array", "items": { "type": "object", "properties": { "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "position": { "type": "string" }, "note": { "type": ["string", "null"] }, "preview": { "type": "object", "properties": { "title": { "type": ["string", "null"] }, "summary": { "type": ["string", "null"] }, "language": { "type": ["string", "null"], "maxLength": 255 }, "capturedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["title", "summary", "language", "capturedAt"], "additionalProperties": false }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "updatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "target", "position", "note", "preview", "revision", "createdAt", "updatedAt" ], "additionalProperties": false } }, "nextCursor": { "type": ["string", "null"] } }, "required": ["revision", "items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiFavorites", "x-rezics-quota-route-operation-id": "getApiFavorites", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/favorites/{targetUnitId}": { "get": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetUnitId", "in": "path", "required": true, "schema": { "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)$" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 }, "entry": { "type": ["object", "null"], "properties": { "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "position": { "type": "string" }, "note": { "type": ["string", "null"] }, "preview": { "type": "object", "properties": { "title": { "type": ["string", "null"] }, "summary": { "type": ["string", "null"] }, "language": { "type": ["string", "null"], "maxLength": 255 }, "capturedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["title", "summary", "language", "capturedAt"], "additionalProperties": false }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "updatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "target", "position", "note", "preview", "revision", "createdAt", "updatedAt" ], "additionalProperties": false } }, "required": ["revision", "entry"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiFavoritesByTargetUnitId", "x-rezics-quota-route-operation-id": "getApiFavoritesByTargetUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetUnitId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 0, "maximum": 9007199254740990 }, "note": { "type": ["string", "null"] }, "afterTargetId": { "type": ["string", "null"], "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)$" }, "refreshPreview": { "default": false, "type": "boolean" } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "entry": { "type": ["object", "null"], "properties": { "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "position": { "type": "string" }, "note": { "type": ["string", "null"] }, "preview": { "type": "object", "properties": { "title": { "type": ["string", "null"] }, "summary": { "type": ["string", "null"] }, "language": { "type": ["string", "null"], "maxLength": 255 }, "capturedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["title", "summary", "language", "capturedAt"], "additionalProperties": false }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "updatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "target", "position", "note", "preview", "revision", "createdAt", "updatedAt" ], "additionalProperties": false } }, "required": ["revision", "entry"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiFavoritesByTargetUnitId", "x-rezics-quota-route-operation-id": "putApiFavoritesByTargetUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetUnitId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 0, "maximum": 9007199254740990 } }, "required": ["expectedRevision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "entry": { "type": ["object", "null"], "properties": { "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "position": { "type": "string" }, "note": { "type": ["string", "null"] }, "preview": { "type": "object", "properties": { "title": { "type": ["string", "null"] }, "summary": { "type": ["string", "null"] }, "language": { "type": ["string", "null"], "maxLength": 255 }, "capturedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["title", "summary", "language", "capturedAt"], "additionalProperties": false }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "updatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "target", "position", "note", "preview", "revision", "createdAt", "updatedAt" ], "additionalProperties": false } }, "required": ["revision", "entry"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiFavoritesByTargetUnitId", "x-rezics-quota-route-operation-id": "deleteApiFavoritesByTargetUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/favorites/{targetUnitId}/history": { "get": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetUnitId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "beforeRevision", "in": "query", "required": false, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "operation": { "type": "string", "enum": ["save", "update", "delete", "restore"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["revision", "operation", "createdAt"], "additionalProperties": false } }, "nextCursor": { "type": ["integer", "null"], "exclusiveMinimum": 0, "maximum": 9007199254740991 } }, "required": ["items", "nextCursor"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiFavoritesByTargetUnitIdHistory", "x-rezics-quota-route-operation-id": "getApiFavoritesByTargetUnitIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/favorites/{targetUnitId}/history/{revision}": { "get": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetUnitId", "in": "path", "required": true, "schema": { "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)$" } }, { "name": "revision", "in": "path", "required": true, "schema": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "operation": { "type": "string", "enum": ["save", "update", "delete", "restore"] }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "snapshot": { "type": ["object", "null"], "properties": { "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "position": { "type": "string" }, "note": { "type": ["string", "null"] }, "preview": { "type": "object", "properties": { "title": { "type": ["string", "null"] }, "summary": { "type": ["string", "null"] }, "language": { "type": ["string", "null"], "maxLength": 255 }, "capturedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["title", "summary", "language", "capturedAt"], "additionalProperties": false } }, "required": ["target", "position", "note", "preview"], "additionalProperties": false } }, "required": ["revision", "operation", "createdAt", "snapshot"], "additionalProperties": false } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiFavoritesByTargetUnitIdHistoryByRevision", "x-rezics-quota-route-operation-id": "getApiFavoritesByTargetUnitIdHistoryByRevision", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/favorites/{targetUnitId}/restore": { "post": { "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetUnitId", "in": "path", "required": true, "schema": { "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)$" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "expectedRevision": { "type": "integer", "minimum": 0, "maximum": 9007199254740990 }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "afterTargetId": { "type": ["string", "null"], "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)$" } }, "required": ["expectedRevision", "revision"], "additionalProperties": false } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "entry": { "type": ["object", "null"], "properties": { "target": { "type": "object", "properties": { "owner": { "type": "string", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ] }, "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)$" } }, "required": ["owner", "id"], "additionalProperties": false }, "position": { "type": "string" }, "note": { "type": ["string", "null"] }, "preview": { "type": "object", "properties": { "title": { "type": ["string", "null"] }, "summary": { "type": ["string", "null"] }, "language": { "type": ["string", "null"], "maxLength": 255 }, "capturedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": ["title", "summary", "language", "capturedAt"], "additionalProperties": false }, "revision": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "createdAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" }, "updatedAt": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$" } }, "required": [ "target", "position", "note", "preview", "revision", "createdAt", "updatedAt" ], "additionalProperties": false } }, "required": ["revision", "entry"], "additionalProperties": false } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiFavoritesByTargetUnitIdRestore", "x-rezics-quota-route-operation-id": "postApiFavoritesByTargetUnitIdRestore", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reviews": { "get": { "summary": "List reviews", "tags": ["Reviews"], "parameters": [ { "name": "targetId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmIds", "in": "query", "required": false, "schema": { "minItems": 1, "maxItems": 50, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } } }, { "name": "languages", "in": "query", "required": false, "schema": { "minItems": 1, "maxItems": 50, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "sort", "in": "query", "required": false, "schema": { "default": "best", "enum": ["best", "new"], "type": "string" } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } }, { "name": "scoreRealmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "scores", "in": "query", "required": false, "schema": { "minItems": 1, "maxItems": 10, "uniqueItems": true, "type": "array", "items": { "minimum": 1, "maximum": 10, "type": "integer" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "totalCount": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "nextCursor": { "nullable": true, "type": ["string", "null"] }, "items": { "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "targetId": { "type": "string", "format": "uuid" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores", "targetId" ] } } }, "required": ["totalCount", "nextCursor", "items"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReviews", "x-rezics-quota-route-operation-id": "getApiReviews", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create review", "tags": ["Reviews"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "targetId": { "type": "string", "format": "uuid" }, "progressEntryId": { "type": "string", "format": "uuid" }, "publishRealmIds": { "maxItems": 10, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "score": { "additionalProperties": false, "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["realmId", "value"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "minLength": 1, "maxLength": 2000, "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["targetId", "publishRealmIds", "language", "body"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "EntityAssociationRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRulesAcceptanceRequired", "enum": ["RealmRulesAcceptanceRequired", "PostTargetingLocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiReviews", "x-rezics-quota-route-operation-id": "postApiReviews", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reviews/{reviewId}": { "get": { "summary": "Get review", "tags": ["Reviews"], "parameters": [ { "name": "reviewId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "postKind": { "type": "string", "const": "review" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "targetId": { "type": "string", "format": "uuid" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "body": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["id", "owner", "shape", "language", "title", "summary", "cover"] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "progressEntry": { "nullable": true, "type": ["object", "null"], "properties": { "unitId": { "type": "string", "format": "uuid" }, "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completionDelta": { "minimum": 0, "maximum": 1, "type": "integer" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" } }, "required": [ "unitId", "entryKind", "status", "progress", "completionDelta", "occurredAt", "datePrecision" ] }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageScores": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canManageScores", "canReply" ] } }, "required": [ "id", "availableLanguages", "postKind", "attributions", "targetId", "realmId", "title", "summary", "language", "body", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "progressEntry", "capabilities" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ReviewNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReviewsByReviewId", "x-rezics-quota-route-operation-id": "getApiReviewsByReviewId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update review", "tags": ["Reviews"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "reviewId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "minLength": 1, "maxLength": 500, "type": ["string", "null"] }, "summary": { "nullable": true, "minLength": 1, "maxLength": 2000, "type": ["string", "null"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["language", "title", "summary", "body"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PostTagMentionVoteConflict", "enum": ["PostTagMentionVoteConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiReviewsByReviewId", "x-rezics-quota-route-operation-id": "patchApiReviewsByReviewId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/scores/{targetId}": { "put": { "summary": "Score unit", "tags": ["Reviews"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "score": { "minimum": 1, "maximum": 10, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" } }, "required": ["realmId", "score"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "score": { "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" } }, "required": ["scoreId", "score", "visibility"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiScoresByTargetId", "x-rezics-quota-route-operation-id": "putApiScoresByTargetId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "get": { "summary": "Get score aggregate", "tags": ["Reviews"], "parameters": [ { "name": "targetId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "totalScore": { "type": "integer" }, "totalCount": { "type": "integer" }, "distribution": { "type": "object", "patternProperties": { "^(.*)$": { "type": "integer" } } } }, "required": ["totalScore", "totalCount", "distribution"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiScoresByTargetId", "x-rezics-quota-route-operation-id": "getApiScoresByTargetId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/scores/{targetId}/viewer": { "get": { "summary": "List current user's Scores for a Unit", "tags": ["Reviews"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "targetId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "value": { "minimum": 1, "maximum": 10, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "scoreId", "realmId", "value", "visibility", "realmTitle", "updatedAt" ] } } }, "required": ["items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiScoresByTargetIdViewer", "x-rezics-quota-route-operation-id": "getApiScoresByTargetIdViewer", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reactions/units/{unitId}": { "get": { "summary": "Get Unit reaction summary", "tags": ["Reactions"], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "reaction": { "type": "string" }, "count": { "type": "integer" } }, "required": ["reaction", "count"] } }, "viewerReaction": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "viewerReaction"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiReactionsUnitsByUnitId", "x-rezics-quota-route-operation-id": "getApiReactionsUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Set Unit reaction", "tags": ["Reactions"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "reaction": { "type": "string", "enum": ["upvote", "downvote"] }, "realmId": { "type": "string", "format": "uuid" } }, "required": ["reaction"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "reaction": { "nullable": true, "type": ["string", "null"] } }, "required": ["reaction"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiReactionsUnitsByUnitId", "x-rezics-quota-route-operation-id": "putApiReactionsUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Unit reaction", "tags": ["Reactions"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "reaction": { "type": "string", "enum": ["upvote", "downvote"] }, "realmId": { "type": "string", "format": "uuid" } }, "required": ["reaction"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "reaction": { "nullable": true, "type": ["string", "null"] } }, "required": ["reaction"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiReactionsUnitsByUnitId", "x-rezics-quota-route-operation-id": "deleteApiReactionsUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/reactions/shares/{unitId}": { "put": { "summary": "Record Unit share", "tags": ["Reactions"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "shared": { "type": "boolean" } }, "required": ["shared"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiReactionsSharesByUnitId", "x-rezics-quota-route-operation-id": "putApiReactionsSharesByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Unit share", "tags": ["Reactions"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "shared": { "type": "boolean" } }, "required": ["shared"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiReactionsSharesByUnitId", "x-rezics-quota-route-operation-id": "deleteApiReactionsSharesByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/polls": { "post": { "summary": "Create poll", "tags": ["Polls"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "question": { "minLength": 1, "maxLength": 500, "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "options": { "minItems": 2, "maxItems": 50, "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "sourceKind": { "type": "string", "const": "literal" }, "label": { "minLength": 1, "maxLength": 500, "type": "string" } }, "required": ["sourceKind", "label"] }, { "additionalProperties": false, "type": "object", "properties": { "sourceKind": { "type": "string", "const": "unit" }, "targetUnitId": { "type": "string", "format": "uuid" }, "label": { "minLength": 1, "maxLength": 500, "type": "string" } }, "required": ["sourceKind", "targetUnitId", "label"] } ] } }, "voteMode": { "type": "string", "enum": ["single", "multiple"] }, "anonymous": { "default": false, "type": "boolean" }, "resultsVisibility": { "type": "string", "enum": ["live", "after_close"] }, "closesAt": { "type": "string", "format": "date-time" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["question", "language", "options", "voteMode", "resultsVisibility"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PollOptionsDuplicated", "enum": [ "PollOptionsDuplicated", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiPolls", "x-rezics-quota-route-operation-id": "postApiPolls", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/polls/{pollId}": { "get": { "summary": "Get poll", "tags": ["Polls"], "parameters": [ { "name": "pollId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "question": { "type": "string" }, "voteMode": { "type": "string" }, "anonymous": { "type": "boolean" }, "resultsVisibility": { "type": "string" }, "closesAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "closed": { "type": "boolean" }, "viewerOptionIds": { "type": "array", "items": { "type": "string", "format": "uuid" } }, "options": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceKind": { "type": "string", "const": "literal" }, "targetUnitId": { "type": "null" }, "label": { "type": "string" }, "position": { "minimum": 0, "type": "integer" }, "voteCount": { "nullable": true, "type": ["integer", "null"] } }, "required": [ "id", "sourceKind", "targetUnitId", "label", "position", "voteCount" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "sourceKind": { "type": "string", "const": "unit" }, "targetUnitId": { "type": "string", "format": "uuid" }, "label": { "type": "string" }, "position": { "minimum": 0, "type": "integer" }, "voteCount": { "nullable": true, "type": ["integer", "null"] } }, "required": [ "id", "sourceKind", "targetUnitId", "label", "position", "voteCount" ] } ] } } }, "required": [ "id", "language", "question", "voteMode", "anonymous", "resultsVisibility", "closesAt", "createdAt", "closed", "viewerOptionIds", "options" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PollNotFound", "enum": ["PollNotFound", "UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPollsByPollId", "x-rezics-quota-route-operation-id": "getApiPollsByPollId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/polls/{pollId}/vote": { "put": { "summary": "Replace poll vote", "tags": ["Polls"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "pollId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "optionIds": { "minItems": 1, "maxItems": 50, "type": "array", "items": { "type": "string", "format": "uuid" } }, "realmId": { "type": "string", "format": "uuid" } }, "required": ["optionIds"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "optionIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": ["optionIds"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PollSingleChoiceInvalid", "enum": ["PollSingleChoiceInvalid", "PollOptionInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PollClosed"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PollNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiPollsByPollIdVote", "x-rezics-quota-route-operation-id": "putApiPollsByPollIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Withdraw poll vote", "tags": ["Polls"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "pollId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "optionIds": { "type": "array", "items": { "type": "string", "format": "uuid" } } }, "required": ["optionIds"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PollClosed", "enum": ["PollClosed"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PollNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiPollsByPollIdVote", "x-rezics-quota-route-operation-id": "deleteApiPollsByPollIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/polls/{pollId}/close": { "post": { "summary": "Close poll", "tags": ["Polls"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "pollId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PollAlreadyClosed", "enum": ["PollAlreadyClosed"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiPollsByPollIdClose", "x-rezics-quota-route-operation-id": "postApiPollsByPollIdClose", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/posts/{postId}/scores": { "get": { "summary": "List Post Scores", "tags": ["Posts"], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "profileId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "scoreId", "profileId", "unitId", "realmId", "realmTitle", "value", "visibility", "position", "updatedAt" ] } } }, "required": ["items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PostNotFound", "enum": ["PostNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPostsByPostIdScores", "x-rezics-quota-route-operation-id": "getApiPostsByPostIdScores", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace Post Scores", "tags": ["Posts"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "maxItems": 5, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" } }, "required": ["scoreId"] } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "profileId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" }, "visibility": { "enum": ["public", "unlisted", "private"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "scoreId", "profileId", "unitId", "realmId", "realmTitle", "value", "visibility", "position", "updatedAt" ] } } }, "required": ["items"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PostNotFound", "PostScoreNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PostScoreDuplicate", "enum": ["PostScoreDuplicate"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiPostsByPostIdScores", "x-rezics-quota-route-operation-id": "putApiPostsByPostIdScores", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/posts": { "get": { "summary": "List posts", "tags": ["Posts"], "parameters": [ { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "subjectId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "postKind": { "type": "string", "enum": ["post", "reply"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "body": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "postKind", "language", "attributions", "realmId", "subjectId", "rootPostId", "parentPostId", "body", "contentSpoiler", "contentNsfw", "replyCount", "title", "summary", "latestRevisionId", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPosts", "x-rezics-quota-route-operation-id": "getApiPosts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create post or excerpt", "tags": ["Posts"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "minLength": 1, "maxLength": 2000, "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "publishRealmIds": { "maxItems": 10, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "contentSpoilerLevel": { "type": "string", "enum": [0, 1, 2] }, "contentNsfw": { "type": "boolean" }, "postKind": { "type": "string", "const": "post" }, "subjectId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["body", "language", "publishRealmIds", "postKind"] }, { "additionalProperties": false, "type": "object", "properties": { "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "minLength": 1, "maxLength": 2000, "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "publishRealmIds": { "maxItems": 10, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "contentSpoilerLevel": { "type": "string", "enum": [0, 1, 2] }, "contentNsfw": { "type": "boolean" }, "postKind": { "type": "string", "const": "excerpt" }, "subjectId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["body", "language", "publishRealmIds", "postKind", "subjectId"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "EntityAssociationRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRulesAcceptanceRequired", "enum": ["RealmRulesAcceptanceRequired", "PostTargetingLocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiPosts", "x-rezics-quota-route-operation-id": "postApiPosts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/posts/wiki": { "post": { "summary": "Create Wiki", "tags": ["Posts"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "accessMode": { "type": "string", "enum": ["community_owned", "restricted"] }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "publishRealmIds": { "maxItems": 10, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "subjectId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["accessMode", "title", "body", "language", "publishRealmIds"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "EntityAssociationRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRulesAcceptanceRequired", "enum": ["RealmRulesAcceptanceRequired", "PostTargetingLocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiPostsWiki", "x-rezics-quota-route-operation-id": "postApiPostsWiki", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/posts/{postId}": { "get": { "summary": "Get post", "tags": ["Posts"], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyCount": { "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover" ] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canReply" ] }, "postKind": { "type": "string", "const": "post" } }, "required": [ "id", "availableLanguages", "attributions", "realmId", "subjectId", "rootPostId", "parentPostId", "replyCount", "language", "title", "summary", "body", "contentSpoiler", "contentNsfw", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "capabilities", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyCount": { "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover" ] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canReply" ] }, "postKind": { "type": "string", "const": "reply" } }, "required": [ "id", "availableLanguages", "attributions", "realmId", "subjectId", "rootPostId", "parentPostId", "replyCount", "language", "title", "summary", "body", "contentSpoiler", "contentNsfw", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "capabilities", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyCount": { "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover" ] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canReply" ] }, "postKind": { "type": "string", "const": "excerpt" } }, "required": [ "id", "availableLanguages", "attributions", "realmId", "subjectId", "rootPostId", "parentPostId", "replyCount", "language", "title", "summary", "body", "contentSpoiler", "contentNsfw", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "capabilities", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyCount": { "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "body": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover" ] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canReply" ] }, "postKind": { "type": "string", "const": "chapter" }, "status": { "nullable": true, "default": "draft", "enum": ["draft", "published", "archived"], "type": ["string", "null"] } }, "required": [ "id", "availableLanguages", "attributions", "realmId", "subjectId", "rootPostId", "parentPostId", "replyCount", "language", "title", "summary", "body", "contentSpoiler", "contentNsfw", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "capabilities", "postKind", "status" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "postKind": { "type": "string", "const": "review" }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "targetId": { "type": "string", "format": "uuid" }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "body": { "anyOf": [ { "$ref": "#/components/schemas/PortableTextDocument" }, { "type": "null" } ] }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover" ] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "progressEntry": { "nullable": true, "type": ["object", "null"], "properties": { "unitId": { "type": "string", "format": "uuid" }, "entryKind": { "default": "update", "enum": ["update", "completion"], "type": "string" }, "status": { "default": "backlog", "enum": ["backlog", "active", "paused", "completed", "dropped"], "type": "string" }, "progress": { "minimum": 0, "maximum": 1, "type": "number" }, "completionDelta": { "minimum": 0, "maximum": 1, "type": "integer" }, "occurredAt": { "nullable": true, "type": ["string", "null"], "format": "date-time" }, "datePrecision": { "default": "instant", "enum": ["instant", "day", "month", "year", "unknown"], "type": "string" } }, "required": [ "unitId", "entryKind", "status", "progress", "completionDelta", "occurredAt", "datePrecision" ] }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canManageScores": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canManageScores", "canReply" ] } }, "required": [ "id", "availableLanguages", "postKind", "attributions", "targetId", "realmId", "title", "summary", "language", "body", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "progressEntry", "capabilities" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyCount": { "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover" ] }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canManageAttributions": { "type": "boolean" }, "canManageRealmPublications": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": [ "canEdit", "canManageAttributions", "canManageRealmPublications", "canManageAccess", "canReply" ] }, "postKind": { "type": "string", "const": "wiki" } }, "required": [ "id", "availableLanguages", "attributions", "realmId", "subjectId", "rootPostId", "parentPostId", "replyCount", "language", "title", "summary", "body", "contentSpoiler", "contentNsfw", "latestRevisionId", "createdAt", "updatedAt", "subject", "scores", "capabilities", "postKind" ] } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PostNotFound", "PostLocalizationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPostsByPostId", "x-rezics-quota-route-operation-id": "getApiPostsByPostId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update post", "tags": ["Posts"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "minLength": 1, "maxLength": 500, "type": ["string", "null"] }, "summary": { "nullable": true, "minLength": 1, "maxLength": 2000, "type": ["string", "null"] }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "baseRevisionId": { "type": "string", "format": "uuid" }, "editSummary": { "maxLength": 500, "type": "string" }, "minor": { "type": "boolean" }, "contentSpoilerLevel": { "type": "string", "enum": [0, 1, 2] }, "contentNsfw": { "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["language", "title", "summary", "body", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PostNotFound", "PostLocalizationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict", "PostTagMentionVoteConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiPostsByPostId", "x-rezics-quota-route-operation-id": "patchApiPostsByPostId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/posts/{postId}/replies": { "get": { "summary": "List a bounded reply-post tree", "tags": ["Posts"], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "realmId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "parentPostId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "maxLength": 512, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 25, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "postKind": { "type": "string", "const": "reply" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "rootPostId": { "type": "string", "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "depth": { "type": "integer" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "status": { "type": "string" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "hasMoreChildren": { "type": "boolean" }, "childEndCursor": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": ["canEdit", "canReply"] } }, "required": [ "id", "postKind", "language", "availableLanguages", "attributions", "rootPostId", "parentPostId", "depth", "body", "status", "latestRevisionId", "hasMoreChildren", "childEndCursor", "createdAt", "updatedAt", "capabilities" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PostNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiPostsByPostIdReplies", "x-rezics-quota-route-operation-id": "getApiPostsByPostIdReplies", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create reply post", "tags": ["Posts"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "parentPostId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["language", "body"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "postKind": { "type": "string", "const": "reply" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "attributions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "rootPostId": { "type": "string", "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "depth": { "type": "integer" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "status": { "type": "string" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "hasMoreChildren": { "type": "boolean" }, "childEndCursor": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "capabilities": { "type": "object", "properties": { "canEdit": { "type": "boolean" }, "canReply": { "type": "boolean" } }, "required": ["canEdit", "canReply"] } }, "required": [ "id", "postKind", "language", "availableLanguages", "attributions", "rootPostId", "parentPostId", "depth", "body", "status", "latestRevisionId", "hasMoreChildren", "childEndCursor", "createdAt", "updatedAt", "capabilities" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "ReplyDepthExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PostNotFound", "ParentReplyNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRulesAcceptanceRequired", "enum": ["RealmRulesAcceptanceRequired", "PostTargetingLocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiPostsByPostIdReplies", "x-rezics-quota-route-operation-id": "postApiPostsByPostIdReplies", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/posts/{postId}/replies/{replyPostId}": { "patch": { "summary": "Update reply post", "tags": ["Posts"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "postId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "replyPostId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "baseRevisionId": { "type": "string", "format": "uuid" }, "editSummary": { "maxLength": 500, "type": "string" }, "minor": { "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["language", "body", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitPermissionForbidden", "enum": ["UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ReplyPostNotFound", "enum": ["ReplyPostNotFound", "UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict", "PostTagMentionVoteConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiPostsByPostIdRepliesByReplyPostId", "x-rezics-quota-route-operation-id": "patchApiPostsByPostIdRepliesByReplyPostId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms": { "get": { "summary": "List Realms", "tags": ["Realms"], "parameters": [ { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "joinPolicy": { "type": "string" }, "memberCount": { "minimum": 0, "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "slugAddress", "joinPolicy", "memberCount", "language", "title", "summary", "avatar", "banner", "cover", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealms", "x-rezics-quota-route-operation-id": "getApiRealms", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Realm", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "initialTagIds": { "maxItems": 32, "uniqueItems": true, "default": [], "type": "array", "items": { "type": "string", "format": "uuid" } }, "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "joinPolicy": { "type": "string", "enum": ["open", "approval"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["localization", "visibility", "joinPolicy"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound", "TagNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealms", "x-rezics-quota-route-operation-id": "postApiRealms", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/slug-address": { "put": { "operationId": "replaceRealmSlugAddress", "summary": "Replace a Realm slug address", "description": "Development preview. Assigns or renames a Realm's optional public slug in the permanent realms namespace. The former address is retained as a redirect.", "tags": ["Realms", "Slug Addresses"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } }, "required": ["slug"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "addressId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "redirectAddressId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 1, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "addressId", "unitId", "scopeUnitId", "scopeNamespaceId", "slug", "redirectAddressId", "canonicalPath" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSlug", "enum": ["InvalidSlug"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound", "UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugTaken", "enum": ["SlugTaken", "SlugScopeUnavailable", "SlugScopeCycle"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SlugDepthExceeded", "enum": ["SlugDepthExceeded"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdSlug-address", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}": { "get": { "summary": "Get Realm", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "status": { "type": "string" }, "visibility": { "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "joinPolicy": { "type": "string" }, "realmTagVotingEnabled": { "type": "boolean" }, "pages": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "main", "enum": ["main", "tags", "wiki"], "type": "string" } }, "latestRevisionId": { "type": "string", "format": "uuid" }, "memberCount": { "minimum": 0, "type": "integer" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "localizations": { "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["language", "title", "summary", "avatar", "banner", "cover"] } }, "viewerFollowing": { "type": "boolean" }, "viewerMembership": { "type": "object", "properties": { "isOwner": { "type": "boolean" }, "state": { "type": "string" } }, "required": ["isOwner", "state"] }, "capabilities": { "type": "object", "properties": { "canCreateUnits": { "type": "boolean" }, "canCreateReplies": { "type": "boolean" }, "canUpdateSettings": { "type": "boolean" }, "canReadMembers": { "type": "boolean" }, "canManageMembers": { "type": "boolean" }, "canUpdateRules": { "type": "boolean" }, "canManagePins": { "type": "boolean" }, "canManageTags": { "type": "boolean" }, "canUpdateTagVoting": { "type": "boolean" }, "canManageTagContexts": { "type": "boolean" }, "canModerateUnits": { "type": "boolean" }, "canManageAccess": { "type": "boolean" }, "canRestoreHistory": { "type": "boolean" } }, "required": [ "canCreateUnits", "canCreateReplies", "canUpdateSettings", "canReadMembers", "canManageMembers", "canUpdateRules", "canManagePins", "canManageTags", "canUpdateTagVoting", "canManageTagContexts", "canModerateUnits", "canManageAccess", "canRestoreHistory" ] } }, "required": [ "id", "slugAddress", "status", "visibility", "language", "joinPolicy", "realmTagVotingEnabled", "pages", "latestRevisionId", "memberCount", "createdAt", "updatedAt", "avatar", "banner", "cover", "localizations", "viewerFollowing", "capabilities" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmId", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Update Realm", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "joinPolicy": { "type": "string", "enum": ["open", "approval"] }, "visibility": { "type": "string", "enum": ["public", "unlisted", "private"] }, "status": { "type": "string", "enum": ["draft", "published", "archived"] }, "localization": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "maxLength": 2000, "type": "string" }, "description": { "$ref": "#/components/schemas/PortableTextDocument" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "assetId": { "type": "string", "format": "uuid" } }, "required": ["assetId"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "format": "single-emoji-grapheme", "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "bannerAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "coverAssetId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["language", "title"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound", "ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiRealmsByRealmId", "x-rezics-quota-route-operation-id": "patchApiRealmsByRealmId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/pages": { "put": { "summary": "Replace enabled Realm pages", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "pages": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "contains": { "type": "string", "const": "main" }, "minContains": 1, "maxContains": 1, "type": "array", "items": { "default": "main", "enum": ["main", "tags", "wiki"], "type": "string" } }, "baseRevisionId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["pages", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "pages": { "minItems": 1, "maxItems": 3, "uniqueItems": true, "type": "array", "items": { "default": "main", "enum": ["main", "tags", "wiki"], "type": "string" } }, "latestRevisionId": { "type": "string", "format": "uuid" } }, "required": ["pages", "latestRevisionId"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdPages", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdPages", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/taxonomy": { "get": { "summary": "Get Realm taxonomy", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "contentKind": { "default": "label", "enum": ["label", "tag", "wiki"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "queryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contextSummary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "contentKind", "language", "title", "summary", "avatar", "position", "queryStrategy", "contextPostId", "contextSummary" ] } } }, "required": ["structureId", "latestRevisionId", "items"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdTaxonomy", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdTaxonomy", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/taxonomy/draft": { "get": { "summary": "Get complete Realm taxonomy draft", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "contentKind": { "default": "label", "enum": ["label", "tag", "wiki"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "queryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contextSummary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "contentKind", "language", "title", "summary", "avatar", "position", "queryStrategy", "contextPostId", "contextSummary" ] } } }, "required": ["structureId", "latestRevisionId", "items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdTaxonomyDraft", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdTaxonomyDraft", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Save complete Realm taxonomy draft", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "nodes": { "maxItems": 500, "type": "array", "items": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "existing" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "queryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] } }, "required": ["state", "id", "parentId", "order", "queryStrategy"] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "new" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "queryStrategy": { "type": "null" }, "content": { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "label" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" } }, "required": ["kind", "language", "title"] } }, "required": [ "state", "id", "parentId", "order", "queryStrategy", "content" ] }, { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "const": "new" }, "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "order": { "minimum": 0, "type": "integer" }, "queryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "content": { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] } }, "required": [ "state", "id", "parentId", "order", "queryStrategy", "content" ] } ] } } }, "required": ["baseRevisionId", "nodes"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "structureId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "parentId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentUnitId": { "type": "string", "format": "uuid" }, "contentKind": { "default": "label", "enum": ["label", "tag", "wiki"], "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "queryStrategy": { "nullable": true, "default": "global_effective", "enum": ["global_effective", "realm_community", "realm_policy"], "type": ["string", "null"] }, "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contextSummary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "id", "parentId", "contentUnitId", "contentKind", "language", "title", "summary", "avatar", "position", "queryStrategy", "contextPostId", "contextSummary" ] } }, "revisionCreated": { "type": "boolean" } }, "required": ["structureId", "latestRevisionId", "items", "revisionCreated"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "UnitAccessRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureInvalid", "enum": ["ContentStructureInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTaxonomyDraft", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTaxonomyDraft", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/score-context": { "get": { "summary": "Get Realm Score context", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["contextPostId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound", "PostNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdScore-context", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdScore-context", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Set Realm Score context", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "contextPostId": { "type": "string", "format": "uuid" } }, "required": ["contextPostId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "contextPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["contextPostId"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PostNotFound", "enum": ["PostNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmScoreContextPostKindInvalid", "enum": [ "RealmScoreContextPostKindInvalid", "RealmScoreContextPostNotMounted" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdScore-context", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdScore-context", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Clear Realm Score context", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiRealmsByRealmIdScore-context", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdScore-context", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-voting": { "put": { "summary": "Update Realm Tag voting policy", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "enabled": { "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["enabled"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": ["enabled"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTag-voting", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTag-voting", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/membership": { "put": { "summary": "Join Realm", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "state": { "type": "string" } }, "required": ["state"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRulesAcceptanceRequired", "enum": ["RealmRulesAcceptanceRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdMembership", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdMembership", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Leave Realm", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ParticipationDenied", "enum": [ "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmMembershipNotFound", "enum": ["RealmMembershipNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmOwnerLeaveForbidden", "enum": ["RealmOwnerLeaveForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiRealmsByRealmIdMembership", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdMembership", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/members": { "get": { "summary": "List Realm members", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "profileId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "afterProfileId", "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" } }, { "name": "state", "in": "query", "required": false, "schema": { "type": "string", "enum": ["active", "pending", "muted", "removed", "banned"] } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "profileId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "name": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "isOwner": { "type": "boolean" }, "state": { "default": "active", "enum": ["active", "pending", "muted", "removed", "banned"], "type": "string" }, "joinedAt": { "type": "string", "format": "date-time" } }, "required": [ "profileId", "language", "name", "slugAddress", "avatar", "isOwner", "state", "joinedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdMembers", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdMembers", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/members/{profileId}": { "patch": { "summary": "Update Realm member", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "profileId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "string", "enum": ["active", "pending", "muted", "removed", "banned"] } }, "required": ["state"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "profileId": { "type": "string", "format": "uuid" }, "isOwner": { "type": "boolean" }, "state": { "default": "active", "enum": ["active", "pending", "muted", "removed", "banned"], "type": "string" }, "joinedAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["realmId", "profileId", "isOwner", "state", "joinedAt", "updatedAt"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "ParticipationDenied", "AccountRestricted", "AccountSuspended", "AccountClosed" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmMemberNotFound", "enum": ["RealmMemberNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmOwnerLeaveForbidden", "enum": ["RealmOwnerLeaveForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiRealmsByRealmIdMembersByProfileId", "x-rezics-quota-route-operation-id": "patchApiRealmsByRealmIdMembersByProfileId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/rules": { "put": { "summary": "Update Realm rules", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "acknowledgementMode": { "default": "explicit", "enum": ["explicit", "implicit_on_follow"], "type": "string" }, "requireOnJoin": { "type": "boolean" }, "requireOnPost": { "type": "boolean" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "rules": { "minItems": 1, "maxItems": 100, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "localizations": { "minItems": 1, "maxItems": 7, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["language", "title", "content"] } } }, "required": ["localizations"] } } }, "required": [ "baseRevisionId", "acknowledgementMode", "requireOnJoin", "requireOnPost", "rules" ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "version": { "type": "integer" } }, "required": ["id", "version"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRuleRevisionChanged", "enum": ["RealmRuleRevisionChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdRules", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdRules", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "get": { "summary": "Get current Realm rules", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "version": { "nullable": true, "type": ["integer", "null"] }, "acknowledgementMode": { "default": "explicit", "enum": ["explicit", "implicit_on_follow"], "type": "string" }, "requireOnJoin": { "type": "boolean" }, "requireOnPost": { "type": "boolean" }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "position": { "minimum": 0, "type": "integer" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["id", "position", "language", "title", "content"] } } }, "required": [ "revisionId", "version", "acknowledgementMode", "requireOnJoin", "requireOnPost", "items" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdRules", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdRules", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/rules/authoring": { "get": { "summary": "Get Realm rules for authoring", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "revisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "version": { "nullable": true, "type": ["integer", "null"] }, "acknowledgementMode": { "default": "explicit", "enum": ["explicit", "implicit_on_follow"], "type": "string" }, "requireOnJoin": { "type": "boolean" }, "requireOnPost": { "type": "boolean" }, "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "position": { "minimum": 0, "type": "integer" }, "localizations": { "minItems": 1, "maxItems": 7, "type": "array", "items": { "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["language", "title", "content"] } } }, "required": ["id", "position", "localizations"] } } }, "required": [ "revisionId", "version", "acknowledgementMode", "requireOnJoin", "requireOnPost", "items" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdRulesAuthoring", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdRulesAuthoring", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/rules/{revisionId}/acknowledgement": { "put": { "summary": "Acknowledge current Realm rules", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRuleRevisionChanged", "enum": ["RealmRuleRevisionChanged"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "revisionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "required": ["language"] } } } }, "operationId": "putApiRealmsByRealmIdRulesByRevisionIdAcknowledgement", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdRulesByRevisionIdAcknowledgement", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/pins": { "get": { "summary": "List Realm pins", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "kind": { "default": "pinned", "enum": ["pinned", "highlight"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "unitId", "kind", "position", "createdAt", "updatedAt" ] } }, "contentItems": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } } }, "required": ["items", "contentItems"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdPins", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdPins", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/pins/move": { "post": { "summary": "Move Realm pins", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "unitIds": { "minItems": 1, "maxItems": 100, "uniqueItems": true, "type": "array", "items": { "type": "string", "format": "uuid" } }, "destinationKind": { "default": "pinned", "enum": ["pinned", "highlight"], "type": "string" }, "placement": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "start", "enum": ["start", "end"], "type": "string" } }, "required": ["kind"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "after" }, "unitId": { "type": "string", "format": "uuid" } }, "required": ["kind", "unitId"] } ] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["unitIds", "destinationKind", "placement"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "saved": { "type": "boolean" }, "latestRevisionId": { "type": "string", "format": "uuid" } }, "required": ["saved", "latestRevisionId"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealmsByRealmIdPinsMove", "x-rezics-quota-route-operation-id": "postApiRealmsByRealmIdPinsMove", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/pins/{unitId}": { "put": { "summary": "Pin Realm unit", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "kind": { "default": "pinned", "enum": ["pinned", "highlight"], "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "kind": { "default": "pinned", "enum": ["pinned", "highlight"], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["realmId", "unitId", "kind", "position", "createdAt", "updatedAt"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdPinsByUnitId", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdPinsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Realm pin", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "kind", "in": "query", "required": false, "schema": { "default": "pinned", "enum": ["pinned", "highlight"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } } } } } }, "operationId": "deleteApiRealmsByRealmIdPinsByUnitId", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdPinsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/wikis": { "post": { "summary": "Create Realm-governed Wiki", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "accessMode": { "type": "string", "enum": ["community_owned", "restricted"] }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "subjectId": { "type": "string", "format": "uuid" } }, "required": ["title", "body", "language"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "required": ["id"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired", "EntityAssociationRestricted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "EntityEntryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmRulesAcceptanceRequired", "enum": ["RealmRulesAcceptanceRequired", "PostTargetingLocked"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealmsByRealmIdWikis", "x-rezics-quota-route-operation-id": "postApiRealmsByRealmIdWikis", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tag-contexts": { "get": { "summary": "List Realm Tag Context relationships", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "tagReadable": { "type": "boolean" }, "tagLanguage": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "tagTitle": { "nullable": true, "type": ["string", "null"] }, "contextReadable": { "type": "boolean" }, "contextLanguage": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "contextTitle": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "tagId", "contextPostId", "createdByProfileId", "createdAt", "updatedAt", "tagReadable", "tagLanguage", "tagTitle", "contextReadable", "contextLanguage", "contextTitle" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdTag-contexts", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdTag-contexts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Realm Tag Context Wiki", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "accessMode": { "type": "string", "enum": ["community_owned", "restricted"] }, "title": { "minLength": 1, "maxLength": 500, "type": "string" }, "summary": { "minLength": 1, "maxLength": 2000, "type": "string" }, "body": { "$ref": "#/components/schemas/PortableTextDocument" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "required": ["tagId", "title", "summary", "body", "language"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "tagId", "contextPostId", "createdByProfileId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "UnitAccessRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagContextAlreadyExists", "enum": [ "RealmTagContextAlreadyExists", "RealmRulesAcceptanceRequired", "PostTargetingLocked" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ValidationError", "enum": ["ValidationError"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealmsByRealmIdTag-contexts", "x-rezics-quota-route-operation-id": "postApiRealmsByRealmIdTag-contexts", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/tags/{tagId}/context": { "get": { "summary": "Get Realm Tag Context", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "tagId", "contextPostId", "createdByProfileId", "createdAt", "updatedAt" ] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmNotFound", "enum": ["RealmNotFound", "PostNotFound", "RealmTagContextNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdTagsByTagIdContext", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdTagsByTagIdContext", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Set Realm Tag Context", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "contextPostId": { "type": "string", "format": "uuid" } }, "required": ["contextPostId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "createdByProfileId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "tagId", "contextPostId", "createdByProfileId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "UnitAccessRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "PostNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagContextPostAlreadyUsed", "enum": ["RealmTagContextPostAlreadyUsed"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagContextPostNotMounted", "enum": ["RealmTagContextPostNotMounted"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdTagsByTagIdContext", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdTagsByTagIdContext", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Realm Tag Context relationship", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagContextNotFound", "enum": ["RealmTagContextNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagContextInUse", "enum": ["RealmTagContextInUse"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiRealmsByRealmIdTagsByTagIdContext", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdTagsByTagIdContext", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/policy-tags/{tagId}": { "put": { "summary": "Apply Realm Policy Tag", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "position": { "format": "fractional-position", "minLength": 2, "maxLength": 512, "type": "string" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "createdByProfileId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "unitId", "tagId", "position", "createdByProfileId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmUnitNotFound", "enum": ["RealmUnitNotFound", "UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagSelfReferenceForbidden", "enum": [ "RealmTagSelfReferenceForbidden", "TagNotDirectlyApplicable", "ContentLabelApplicationInvalid" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdUnitsByUnitIdPolicy-tagsByTagId", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdUnitsByUnitIdPolicy-tagsByTagId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove Realm Policy Tag", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiRealmsByRealmIdUnitsByUnitIdPolicy-tagsByTagId", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdUnitsByUnitIdPolicy-tagsByTagId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/tags": { "get": { "summary": "List Realm-scoped Unit Tag votes", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 50, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "score": { "type": "integer" }, "voteCount": { "minimum": 0, "type": "integer" }, "viewerVote": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] } }, "required": [ "tagId", "language", "title", "summary", "avatar", "createdAt", "updatedAt", "realmId", "contextPostId", "score", "voteCount", "viewerVote" ] } } }, "required": ["realmId", "tags"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "UnitAccessRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdUnitsByUnitIdTags", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdUnitsByUnitIdTags", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/tags/{tagId}/vote": { "put": { "summary": "Vote on a Realm-scoped Unit Tag", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "value": { "type": "string", "enum": [-1, 1] } }, "required": ["value"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "value": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "score": { "type": "integer" }, "voteCount": { "type": "integer" } }, "required": ["realmId", "unitId", "tagId", "value", "score", "voteCount"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "UnitAccessRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagVotingDisabled", "enum": ["RealmTagVotingDisabled"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmTagContextRequired", "enum": [ "RealmTagContextRequired", "RealmTagSelfReferenceForbidden", "ContentLabelJudgmentForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdUnitsByUnitIdTagsByTagIdVote", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdUnitsByUnitIdTagsByTagIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Remove a Realm-scoped Unit Tag vote", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "tagId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "tagId": { "type": "string", "format": "uuid" }, "value": { "nullable": true, "type": ["string", "null"], "enum": [-1, 1] }, "score": { "type": "integer" }, "voteCount": { "type": "integer" } }, "required": ["realmId", "unitId", "tagId", "value", "score", "voteCount"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": [ "RealmCapabilityRequired", "UnitAccessRestricted", "UnitPermissionForbidden" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "Response for status 429", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "VoteHotKeyBusy", "enum": ["VoteHotKeyBusy"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } ] } } }, "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "deleteApiRealmsByRealmIdUnitsByUnitIdTagsByTagIdVote", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdUnitsByUnitIdTagsByTagIdVote", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units": { "get": { "summary": "List Realm Units for moderation", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "status", "in": "query", "required": false, "schema": { "default": "current", "enum": ["current", "pending", "visible", "hidden", "removed", "all"], "type": "string" } }, { "name": "publicationState", "in": "query", "required": false, "schema": { "default": "active", "enum": ["active", "withdrawn", "all"], "type": "string" } }, { "name": "reported", "in": "query", "required": false, "schema": { "type": "boolean" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, { "name": "cursor", "in": "query", "required": false, "schema": { "minLength": 1, "maxLength": 1024, "type": "string" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "unitKind": { "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "status": { "enum": ["pending", "visible", "hidden", "removed"], "type": "string" }, "publicationState": { "default": "active", "enum": ["active", "withdrawn"], "type": "string" }, "postTargetingLocked": { "type": "boolean" }, "openReportCount": { "minimum": 0, "type": "integer" }, "allowedCommands": { "minItems": 1, "type": "array", "items": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "dismiss", "note" ], "type": "string" } }, "moderationStatus": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "unitId", "unitKind", "language", "title", "status", "publicationState", "postTargetingLocked", "openReportCount", "allowedCommands", "moderationStatus", "createdAt", "updatedAt" ] } }, "nextCursor": { "nullable": true, "type": ["string", "null"] } }, "required": ["items", "nextCursor"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidPaginationCursor", "enum": ["InvalidPaginationCursor"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdUnits", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdUnits", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}": { "get": { "summary": "Get Realm Unit for moderation", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "localizationLanguages", "in": "query", "required": false, "schema": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "realmId": { "type": "string", "format": "uuid" }, "unitId": { "type": "string", "format": "uuid" }, "unitKind": { "type": "string" }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "title": { "nullable": true, "type": ["string", "null"] }, "status": { "enum": ["pending", "visible", "hidden", "removed"], "type": "string" }, "publicationState": { "default": "active", "enum": ["active", "withdrawn"], "type": "string" }, "postTargetingLocked": { "type": "boolean" }, "openReportCount": { "minimum": 0, "type": "integer" }, "allowedCommands": { "minItems": 1, "type": "array", "items": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "dismiss", "note" ], "type": "string" } }, "moderationStatus": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "realmId", "unitId", "unitKind", "language", "title", "status", "publicationState", "postTargetingLocked", "openReportCount", "allowedCommands", "moderationStatus", "createdAt", "updatedAt" ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmUnitNotFound", "enum": ["RealmUnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdUnitsByUnitId", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "patch": { "summary": "Apply a Realm content governance action", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "idempotencyKey": { "minLength": 1, "maxLength": 256, "type": "string" }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } }, "command": { "type": "string", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting" ] }, "rules": { "minItems": 1, "maxItems": 32, "uniqueItems": true, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "annotation": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] } }, "required": ["command", "rules"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "actorProfileId": { "type": "string", "format": "uuid" }, "kind": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "previousState": { "nullable": true, "type": ["string", "null"] }, "resultingState": { "nullable": true, "type": ["string", "null"] }, "previousPostTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "licenseGrantId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "previousRecognitionStatus": { "nullable": true, "default": "recognized", "enum": ["recognized", "invalidated"], "type": ["string", "null"] }, "resultingRecognitionStatus": { "nullable": true, "default": "recognized", "enum": ["recognized", "invalidated"], "type": ["string", "null"] }, "resultingPostTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "reversesActionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rules": { "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "notes": { "type": "array", "items": { "type": "object", "required": ["postId", "role"], "properties": { "postId": { "type": "string", "format": "uuid" }, "role": { "type": "string", "enum": ["evidence", "internal_note", "public_notice"] } } } }, "createdAt": { "type": "string", "format": "date-time" }, "target": { "type": "object", "properties": { "status": { "enum": ["pending", "visible", "hidden", "removed"], "type": "string" }, "publicationState": { "default": "active", "enum": ["active", "withdrawn"], "type": "string" }, "postTargetingLocked": { "type": "boolean" }, "openReportCount": { "minimum": 0, "type": "integer" }, "allowedCommands": { "minItems": 1, "type": "array", "items": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "dismiss", "note" ], "type": "string" } }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "status", "publicationState", "postTargetingLocked", "openReportCount", "allowedCommands", "updatedAt" ] } }, "required": [ "id", "caseId", "actorProfileId", "kind", "previousState", "resultingState", "previousPostTargetingLocked", "licenseGrantId", "previousRecognitionStatus", "resultingRecognitionStatus", "resultingPostTargetingLocked", "reversesActionId", "rules", "notes", "createdAt", "target" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentGovernanceActionIncompatible", "enum": [ "ContentGovernanceActionIncompatible", "GovernanceRuleSourceForbidden", "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmUnitNotFound", "enum": ["RealmUnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentGovernanceTransitionInvalid", "enum": [ "ContentGovernanceTransitionInvalid", "ContentGovernanceActionNoEffect", "ContentGovernanceIdempotencyConflict", "GovernanceRuleChanged", "PostTargetingLocked" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "patchApiRealmsByRealmIdUnitsByUnitId", "x-rezics-quota-route-operation-id": "patchApiRealmsByRealmIdUnitsByUnitId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/history": { "get": { "summary": "Get Realm Unit moderation history", "tags": ["Realms"], "security": [{ "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "limit", "in": "query", "required": false, "schema": { "minimum": 1, "maximum": 100, "default": 50, "type": "integer" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "caseId": { "type": "string", "format": "uuid" }, "kind": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "invalidate_license", "restore_license", "reverse" ], "type": "string" }, "actorProfileId": { "type": "string", "format": "uuid" }, "actorName": { "nullable": true, "type": ["string", "null"] }, "previousState": { "nullable": true, "enum": ["pending", "visible", "hidden", "removed"], "type": ["string", "null"] }, "resultingState": { "nullable": true, "enum": ["pending", "visible", "hidden", "removed"], "type": ["string", "null"] }, "previousPostTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "resultingPostTargetingLocked": { "nullable": true, "type": ["boolean", "null"] }, "rules": { "maxItems": 32, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "sourceRealmId": { "type": "string", "format": "uuid" }, "revisionId": { "type": "string", "format": "uuid" }, "ruleId": { "type": "string", "format": "uuid" } }, "required": ["sourceRealmId", "revisionId", "ruleId"] } }, "reversesActionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "notes": { "type": "array", "items": { "type": "object", "properties": { "postId": { "type": "string", "format": "uuid" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "postId", "latestRevisionId", "role", "language", "content", "createdAt", "updatedAt" ] } }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "caseId", "kind", "actorProfileId", "actorName", "previousState", "resultingState", "previousPostTargetingLocked", "resultingPostTargetingLocked", "rules", "reversesActionId", "notes", "createdAt" ] } } }, "required": ["items"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmUnitNotFound", "enum": ["RealmUnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdUnitsByUnitIdHistory", "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdUnitsByUnitIdHistory", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/units/{unitId}/review": { "post": { "summary": "Update a Realm content review case", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "unitId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "command": { "type": "string", "const": "dismiss" }, "annotation": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["command"] }, { "additionalProperties": false, "type": "object", "properties": { "command": { "type": "string", "const": "note" }, "annotation": { "additionalProperties": false, "type": "object", "properties": { "role": { "type": "string", "enum": ["internal_note", "public_notice"] }, "language": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" }, "content": { "$ref": "#/components/schemas/PortableTextDocument" } }, "required": ["role", "language", "content"] }, "revisionContext": { "additionalProperties": false, "type": "object", "properties": { "contribution": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "human" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "unattributed" } }, "required": ["primary"] }, { "additionalProperties": false, "type": "object", "properties": { "primary": { "type": "string", "const": "ai" }, "creditedEntityId": { "type": "string", "format": "uuid" }, "role": { "default": "creator", "enum": ["creator", "editor", "translator", "researcher"], "type": "string" } }, "required": ["primary", "creditedEntityId", "role"] } ] } } } }, "required": ["command", "annotation"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "caseId": { "type": "string", "format": "uuid" }, "caseState": { "type": "string", "enum": [ "new", "triaged", "assigned", "actioned", "resolved", "duplicate", "rejected", "escalated", "reviewing" ] }, "target": { "type": "object", "properties": { "status": { "enum": ["pending", "visible", "hidden", "removed"], "type": "string" }, "publicationState": { "default": "active", "enum": ["active", "withdrawn"], "type": "string" }, "postTargetingLocked": { "type": "boolean" }, "openReportCount": { "minimum": 0, "type": "integer" }, "allowedCommands": { "minItems": 1, "type": "array", "items": { "default": "approve", "enum": [ "approve", "hide", "remove", "restore", "lock_post_targeting", "unlock_post_targeting", "dismiss", "note" ], "type": "string" } }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "status", "publicationState", "postTargetingLocked", "openReportCount", "allowedCommands", "updatedAt" ] } }, "required": ["caseId", "caseState", "target"] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RevisionCreditEntityInvalid", "enum": [ "RevisionCreditEntityInvalid", "RevisionContributionActorRequired" ], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmCapabilityRequired", "enum": ["RealmCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "RealmUnitNotFound", "enum": ["RealmUnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentGovernanceActionNoEffect", "enum": ["ContentGovernanceActionNoEffect"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealmsByRealmIdUnitsByUnitIdReview", "x-rezics-quota-route-operation-id": "postApiRealmsByRealmIdUnitsByUnitIdReview", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/wiki/navigation": { "get": { "summary": "List Realm Wiki navigation resources", "description": "Development preview. Requires platform.development_preview.access in addition to ordinary Realm Wiki navigation authorization.", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "realmId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } }, "required": ["items"] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdWikiNavigation", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdWikiNavigation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "post": { "summary": "Create Realm Wiki navigation", "description": "Development preview. Requires platform.development_preview.access in addition to ordinary Realm Wiki navigation authorization.", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "document": { "$ref": "#/components/schemas/NavigationDocument" } }, "required": ["document"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "realmId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "WikiNavigationDocumentInvalid", "enum": ["WikiNavigationDocumentInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiRealmsByRealmIdWikiNavigation", "x-rezics-quota-route-operation-id": "postApiRealmsByRealmIdWikiNavigation", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/realms/{realmId}/wiki/navigation/{navigationId}": { "get": { "summary": "Get Realm Wiki navigation", "description": "Development preview. Requires platform.development_preview.access in addition to ordinary Realm Wiki navigation authorization.", "tags": ["Realms"], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "navigationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "realmId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "WikiNavigationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiRealmsByRealmIdWikiNavigationByNavigationId", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "getApiRealmsByRealmIdWikiNavigationByNavigationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "put": { "summary": "Replace Realm Wiki navigation", "description": "Development preview. Requires platform.development_preview.access in addition to ordinary Realm Wiki navigation authorization.", "tags": ["Realms"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "navigationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "document": { "$ref": "#/components/schemas/NavigationDocument" }, "baseRevisionId": { "type": "string", "format": "uuid" } }, "required": ["document", "baseRevisionId"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "document": { "$ref": "#/components/schemas/NavigationDocument" }, "latestRevisionId": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "realmId", "document", "latestRevisionId", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Response for status 400", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "WikiNavigationDocumentInvalid", "enum": ["WikiNavigationDocumentInvalid"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/MalformedRequestBody" } ] } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "WikiNavigationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ContentStructureRevisionConflict", "enum": ["ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiRealmsByRealmIdWikiNavigationByNavigationId", "x-rezics-quota-route-operation-id": "putApiRealmsByRealmIdWikiNavigationByNavigationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete Realm Wiki navigation", "description": "Development preview. Requires platform.development_preview.access in addition to ordinary Realm Wiki navigation authorization.", "tags": ["Realms"], "responses": { "204": { "description": "Response for status 204" }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "403": { "description": "Response for status 403", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "PlatformCapabilityRequired", "enum": ["PlatformCapabilityRequired", "UnitPermissionForbidden"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "WikiNavigationNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "WikiNavigationInUse", "enum": ["WikiNavigationInUse", "ContentStructureRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "realmId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "navigationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "baseRevisionId": { "type": "string", "format": "uuid" } }, "required": ["baseRevisionId"] } } } }, "operationId": "deleteApiRealmsByRealmIdWikiNavigationByNavigationId", "x-rezics-quota-route-operation-id": "deleteApiRealmsByRealmIdWikiNavigationByNavigationId", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/filter": { "get": { "summary": "Get the global Filter capability definition", "tags": ["Search"], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchFeatureDefinition" } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiSearchFilter", "x-rezics-quota-route-operation-id": "getApiSearchFilter", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/filter/definition": { "post": { "summary": "Resolve a Filter document", "tags": ["Search"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FilterDocument" } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchFeatureDefinition" } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiSearchFilterDefinition", "x-rezics-quota-route-operation-id": "postApiSearchFilterDefinition", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/filter/execute": { "post": { "summary": "Execute a Filter document", "tags": ["Search"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "contexts": { "type": "array", "items": { "anyOf": [ { "type": "object", "required": ["kind", "realmId"], "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "profileId"], "properties": { "kind": { "type": "string", "const": "profile" }, "profileId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "zoneId"], "properties": { "kind": { "type": "string", "const": "zone" }, "zoneId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "unitId", "includeDescendants"], "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "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}$" }, "includeDescendants": { "type": "boolean", "default": false } }, "additionalProperties": false } ], "$id": "SearchFeatureContext" }, "maxItems": 4 }, "injections": { "type": "array", "items": { "type": "object", "required": ["source", "value", "removable"], "properties": { "source": { "type": "string", "enum": ["tag", "link"] }, "value": { "type": "object", "required": ["controlKey", "filter"], "properties": { "controlKey": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "filter": { "$ref": "#/components/schemas/SearchControlPredicate" } }, "additionalProperties": false, "$id": "SearchControlValue" }, "removable": { "type": "boolean", "default": true } }, "additionalProperties": false, "$id": "SearchInjection" }, "maxItems": 50 }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["filterDocument", "contexts", "injections", "state"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "query": { "type": "string" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "groups": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "string" }, "hits": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "limit": { "type": "integer" }, "processingTimeMs": { "type": "number" } }, "required": ["index", "hits", "total", "limit", "processingTimeMs"] } } }, "required": ["query", "groups"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchFilterExecute", "x-rezics-quota-route-operation-id": "postApiSearchFilterExecute", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/filter/feed": { "post": { "summary": "Present a Filter document as a Feed", "tags": ["Search"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "contexts": { "type": "array", "items": { "anyOf": [ { "type": "object", "required": ["kind", "realmId"], "properties": { "kind": { "type": "string", "const": "realm" }, "realmId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "profileId"], "properties": { "kind": { "type": "string", "const": "profile" }, "profileId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "zoneId"], "properties": { "kind": { "type": "string", "const": "zone" }, "zoneId": { "type": "string", "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}$" } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "unitId", "includeDescendants"], "properties": { "kind": { "type": "string", "const": "unit" }, "unitId": { "type": "string", "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}$" }, "includeDescendants": { "type": "boolean", "default": false } }, "additionalProperties": false } ], "$id": "SearchFeatureContext" }, "maxItems": 4 }, "injections": { "type": "array", "items": { "type": "object", "required": ["source", "value", "removable"], "properties": { "source": { "type": "string", "enum": ["tag", "link"] }, "value": { "type": "object", "required": ["controlKey", "filter"], "properties": { "controlKey": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "filter": { "$ref": "#/components/schemas/SearchControlPredicate" } }, "additionalProperties": false, "$id": "SearchControlValue" }, "removable": { "type": "boolean", "default": true } }, "additionalProperties": false, "$id": "SearchInjection" }, "maxItems": 50 }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "surface": { "type": "string", "enum": ["search", "feed"] } }, "required": ["filterDocument", "contexts", "injections", "state", "surface"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["items", "total"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchFilterFeed", "x-rezics-quota-route-operation-id": "postApiSearchFilterFeed", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/zones/{zoneId}/filter": { "get": { "summary": "Get a Zone Filter definition", "tags": ["Search", "Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SearchFeatureDefinition" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiSearchZonesByZoneIdFilter", "x-rezics-quota-route-operation-id": "getApiSearchZonesByZoneIdFilter", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/zones/{zoneId}/filter/execute": { "post": { "summary": "Execute a Zone Filter", "tags": ["Search", "Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "injections": { "type": "array", "items": { "type": "object", "required": ["source", "value", "removable"], "properties": { "source": { "type": "string", "enum": ["tag", "link"] }, "value": { "type": "object", "required": ["controlKey", "filter"], "properties": { "controlKey": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "filter": { "$ref": "#/components/schemas/SearchControlPredicate" } }, "additionalProperties": false, "$id": "SearchControlValue" }, "removable": { "type": "boolean", "default": true } }, "additionalProperties": false, "$id": "SearchInjection" }, "maxItems": 50 }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } }, "required": ["injections", "state"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "query": { "type": "string" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "groups": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "string" }, "hits": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "limit": { "type": "integer" }, "processingTimeMs": { "type": "number" } }, "required": ["index", "hits", "total", "limit", "processingTimeMs"] } } }, "required": ["query", "groups"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchZonesByZoneIdFilterExecute", "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdFilterExecute", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/zones/{zoneId}/filter/feed": { "post": { "summary": "Present a Zone Filter as a Feed", "tags": ["Search", "Zones"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "injections": { "type": "array", "items": { "type": "object", "required": ["source", "value", "removable"], "properties": { "source": { "type": "string", "enum": ["tag", "link"] }, "value": { "type": "object", "required": ["controlKey", "filter"], "properties": { "controlKey": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^[a-z][a-z0-9-]*$" }, "filter": { "$ref": "#/components/schemas/SearchControlPredicate" } }, "additionalProperties": false, "$id": "SearchControlValue" }, "removable": { "type": "boolean", "default": true } }, "additionalProperties": false, "$id": "SearchInjection" }, "maxItems": 50 }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "surface": { "type": "string", "enum": ["search", "feed"] } }, "required": ["injections", "state", "surface"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["items", "total"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchZonesByZoneIdFilterFeed", "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdFilterFeed", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/zones/{zoneId}/dock/block-executions": { "post": { "summary": "Execute a trusted Zone Dock Search Block", "tags": ["Search"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" } }, "required": ["state", "path"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "query": { "type": "string" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "groups": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "string" }, "hits": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "limit": { "type": "integer" }, "processingTimeMs": { "type": "number" } }, "required": ["index", "hits", "total", "limit", "processingTimeMs"] } }, "hidden": { "type": "boolean" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "owner", "shape", "language", "title", "summary", "avatar"] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" } }, "required": ["query", "groups"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "DockNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchZonesByZoneIdDockBlock-executions", "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdDockBlock-executions", "x-rezics-quota-operation-id": "search.execute", "x-rezics-quota-cost-units": 5 } }, "/api/v1/search/zones/{zoneId}/pages/{pageId}/execute": { "post": { "summary": "Execute persisted query Blocks for a Zone Page surface", "tags": ["Search", "Zones"], "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "pageRevision": { "type": "string", "format": "uuid" }, "includeDock": { "default": true, "type": "boolean" }, "pageBlocks": { "minItems": 1, "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" } }, "required": ["path"] } }, "dockBlocks": { "minItems": 1, "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" } }, "required": ["path"] } }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "pageRevision": { "type": "string", "format": "uuid" }, "page": { "additionalProperties": false, "type": "object", "properties": { "results": { "maxItems": 24, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" }, "outcome": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ok" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "blockType": { "type": "string", "const": "unit-list" }, "itemKind": { "type": "string", "const": "search-hit" }, "items": { "maxItems": 20, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } } }, "required": ["kind", "blockType", "itemKind", "items"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ok" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "blockType": { "type": "string", "const": "unit-list" }, "itemKind": { "type": "string", "const": "feed-item" }, "items": { "maxItems": 20, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": [ "post", "reply", "excerpt", "chapter", "picture" ], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": [ "scoreId", "realmId", "realmTitle", "value" ] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "title", "avatar" ] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } } }, "required": ["kind", "blockType", "itemKind", "items"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ok" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "blockType": { "type": "string", "const": "feed" }, "itemKind": { "type": "string", "const": "feed-item" }, "items": { "maxItems": 20, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": [ "post", "reply", "excerpt", "chapter", "picture" ], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": [ "scoreId", "realmId", "realmTitle", "value" ] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "title", "avatar" ] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } } }, "required": ["kind", "blockType", "itemKind", "items"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "error" }, "code": { "default": "InvalidSearch", "enum": [ "InvalidSearch", "SearchTimeout", "SearchUnavailable", "CollectionNotFound", "UnitNotFound" ], "type": "string" } }, "required": ["kind", "code"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "skipped" }, "reason": { "type": "string", "enum": ["budget", "inactive-tab"] } }, "required": ["kind", "reason"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" } }, "required": ["kind"] } ] } }, "required": ["path", "outcome"] } } }, "required": ["results"] }, "dock": { "additionalProperties": false, "type": "object", "properties": { "results": { "maxItems": 6, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" }, "outcome": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ok" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "blockType": { "type": "string", "const": "unit-list" }, "itemKind": { "type": "string", "const": "search-hit" }, "items": { "maxItems": 20, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } } }, "required": ["kind", "blockType", "itemKind", "items"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ok" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "blockType": { "type": "string", "const": "unit-list" }, "itemKind": { "type": "string", "const": "feed-item" }, "items": { "maxItems": 20, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": [ "post", "reply", "excerpt", "chapter", "picture" ], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": [ "scoreId", "realmId", "realmTitle", "value" ] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "title", "avatar" ] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } } }, "required": ["kind", "blockType", "itemKind", "items"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "ok" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "avatar" ] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "blockType": { "type": "string", "const": "feed" }, "itemKind": { "type": "string", "const": "feed-item" }, "items": { "maxItems": 20, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": [ "post", "reply", "excerpt", "chapter", "picture" ], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": [ "scoreId", "realmId", "realmTitle", "value" ] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": [ "simple", "facet_value", "relation" ], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": [ "required", "fallback" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": [ "matchedTagId", "evidence", "expression" ] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": [ "id", "url" ] } }, "required": [ "type", "image" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": [ "type", "emoji" ] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": [ "type", "icon" ] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": [ "id", "role", "position", "creditedEntity" ] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": [ "rootPostId", "title", "attributions", "subjectId" ] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": [ "fas", "fab" ], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "title", "avatar" ] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } } }, "required": ["kind", "blockType", "itemKind", "items"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "error" }, "code": { "default": "InvalidSearch", "enum": [ "InvalidSearch", "SearchTimeout", "SearchUnavailable", "CollectionNotFound", "UnitNotFound" ], "type": "string" } }, "required": ["kind", "code"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "skipped" }, "reason": { "type": "string", "enum": ["budget", "inactive-tab"] } }, "required": ["kind", "reason"] }, { "additionalProperties": false, "type": "object", "properties": { "kind": { "type": "string", "const": "hidden" } }, "required": ["kind"] } ] } }, "required": ["path", "outcome"] } } }, "required": ["results"] } }, "required": ["pageRevision", "page"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitRevisionConflict", "enum": ["UnitRevisionConflict"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiSearchZonesByZoneIdPagesByPageIdExecute", "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdPagesByPageIdExecute", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/zones/{zoneId}/pages/{pageId}/block-executions": { "post": { "summary": "Execute a trusted Zone Page Search Block", "tags": ["Search"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" } }, "required": ["state", "path"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "query": { "type": "string" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "groups": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "string" }, "hits": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "limit": { "type": "integer" }, "processingTimeMs": { "type": "number" } }, "required": ["index", "hits", "total", "limit", "processingTimeMs"] } }, "hidden": { "type": "boolean" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "owner", "shape", "language", "title", "summary", "avatar"] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" } }, "required": ["query", "groups"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchZonesByZoneIdPagesByPageIdBlock-executions", "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdPagesByPageIdBlock-executions", "x-rezics-quota-operation-id": "search.execute", "x-rezics-quota-cost-units": 5 } }, "/api/v1/search/zones/{zoneId}/dock/feed-block-executions": { "post": { "summary": "Execute a trusted Zone Dock Feed Block", "tags": ["Feed"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" } }, "required": ["state", "path"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "hidden": { "type": "boolean" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "owner", "shape", "language", "title", "summary", "avatar"] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" } }, "required": ["items", "total"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "DockNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchZonesByZoneIdDockFeed-block-executions", "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdDockFeed-block-executions", "x-rezics-quota-operation-id": "search.execute", "x-rezics-quota-cost-units": 5 } }, "/api/v1/search/zones/{zoneId}/pages/{pageId}/feed-block-executions": { "post": { "summary": "Execute a trusted Zone Page Feed Block", "tags": ["Feed"], "parameters": [ { "name": "zoneId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "pageId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SearchFeatureState" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" }, "path": { "type": "array", "items": { "type": "object", "required": ["slot", "key"], "properties": { "slot": { "type": "string", "enum": ["blocks", "columns", "tabs"] }, "key": { "type": "string", "pattern": "^[0-9a-f]{12}$", "$id": "BlockKey" } }, "additionalProperties": false, "$id": "BlockPathSegment" }, "minItems": 1, "maxItems": 16, "$id": "BlockPath" } }, "required": ["state", "path"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "items": { "maxItems": 50, "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "unit" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "grouping", "entity", "reference", "distribution", "video", "audio", "tag", "zone", "collection", "poll", "realm" ], "type": "string" }, "postKind": { "type": "null" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "collection": { "nullable": true, "type": ["object", "null"], "properties": { "directItemCount": { "minimum": 0, "type": "integer" } }, "required": ["directItemCount"] }, "presentation": { "anyOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "rated-work" }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": ["kind", "scores"] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "identity" }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "banner": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "memberCount": { "nullable": true, "minimum": 0, "type": ["integer", "null"] }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "contextPostId": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] } }, "required": [ "realmId", "contextPostId", "language", "summary" ] } }, "required": [ "kind", "avatar", "banner", "memberCount", "realmTagContext" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "general" } }, "required": ["kind"] } ] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "postKind", "summary", "cover", "collection", "presentation" ] }, { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "default": "post", "enum": ["post", "reply", "excerpt", "chapter", "picture"], "type": "string" } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "review" }, "scores": { "type": "array", "items": { "type": "object", "properties": { "scoreId": { "type": "string", "format": "uuid" }, "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "value": { "minimum": 1, "maximum": 10, "type": "integer" } }, "required": ["scoreId", "realmId", "realmTitle", "value"] } } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "scores" ] }, { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "availableLanguages": { "uniqueItems": true, "type": "array", "items": { "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": "string" } }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "realmId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "realms": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "language", "slugAddress", "title", "summary", "avatar" ] } }, "title": { "nullable": true, "type": ["string", "null"] }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "reactions": { "type": "object", "properties": { "upvote": { "type": "integer" }, "downvote": { "type": "integer" } }, "required": ["upvote", "downvote"] }, "viewerReaction": { "nullable": true, "type": ["string", "null"] }, "recommendationReason": { "nullable": true, "default": "followed_unit", "enum": [ "followed_unit", "followed_realm", "based_on_activity", "related_subject", "popular_now", "new_and_relevant" ], "type": ["string", "null"] }, "tracking": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "requestId": { "type": "string", "format": "uuid" }, "surface": { "default": "home_feed", "enum": [ "home_feed", "home_catalog", "unit_related", "post_related" ], "type": "string" }, "position": { "minimum": 0, "maximum": 999, "type": "integer" }, "policyVersion": { "minLength": 1, "maxLength": 64, "pattern": "\\S", "type": "string" }, "signature": { "minLength": 43, "maxLength": 43, "pattern": "^[A-Za-z0-9_-]{43}$", "type": "string" } }, "required": [ "requestId", "surface", "position", "policyVersion", "signature" ] }, "searchTagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": [ "direct", "primary", "entailed", "retrieval_only" ], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" }, "itemType": { "type": "string", "const": "post" }, "owner": { "type": "string", "const": "post" }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "rootPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "parentPostId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "contentSpoiler": { "type": "object", "properties": { "level": { "type": "string", "enum": [0, 1, 2] }, "concealed": { "type": "boolean" } }, "required": ["level", "concealed"] }, "contentNsfw": { "type": "object", "properties": { "labelled": { "type": "boolean" }, "concealed": { "type": "boolean" } }, "required": ["labelled", "concealed"] }, "replyCount": { "type": "integer" }, "latestRevisionId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "replyContext": { "nullable": true, "type": ["object", "null"], "properties": { "rootPostId": { "type": "string", "format": "uuid" }, "title": { "nullable": true, "type": ["string", "null"] }, "attributions": { "maxItems": 8, "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "role": { "default": "author", "enum": [ "author", "co-author", "translator", "illustrator", "editor", "publisher", "letterer", "colorist", "developer", "composer", "designer", "director", "producer", "writer", "actor", "narrator", "studio", "distributor" ], "type": "string" }, "position": { "format": "fractional-position", "minLength": 2, "maxLength": 1024, "type": "string" }, "creditedEntity": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "type": "string", "const": "entity" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": [ "provider", "prefix", "name" ] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": [ "id", "owner", "shape", "language", "slugAddress", "title", "summary", "avatar" ] } }, "required": ["id", "role", "position", "creditedEntity"] } }, "subjectId": { "nullable": true, "type": ["string", "null"], "format": "uuid" } }, "required": ["rootPostId", "title", "attributions", "subjectId"] }, "subject": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "cover": { "nullable": true, "type": ["object", "null"], "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] }, "scores": { "type": "object", "properties": { "preferred": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] }, "global": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "realmTitle": { "nullable": true, "type": ["string", "null"] }, "totalScore": { "minimum": 1, "type": "integer" }, "totalCount": { "minimum": 1, "type": "integer" } }, "required": [ "realmId", "realmTitle", "totalScore", "totalCount" ] } }, "required": ["preferred", "global"] } }, "required": [ "id", "owner", "shape", "language", "title", "summary", "cover", "scores" ] }, "postKind": { "type": "string", "const": "wiki" }, "realmTagContext": { "nullable": true, "type": ["object", "null"], "properties": { "realmId": { "type": "string", "format": "uuid" }, "tag": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "language": { "nullable": true, "minLength": 1, "maxLength": 255, "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$", "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "language", "title", "avatar"] } }, "required": ["realmId", "tag"] } }, "required": [ "id", "shape", "language", "availableLanguages", "attributions", "realmId", "realms", "title", "createdAt", "updatedAt", "reactions", "viewerReaction", "recommendationReason", "tracking", "itemType", "owner", "summary", "cover", "subjectId", "rootPostId", "parentPostId", "contentSpoiler", "contentNsfw", "replyCount", "latestRevisionId", "replyContext", "subject", "postKind", "realmTagContext" ] } ] } ] } }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "hidden": { "type": "boolean" }, "selected": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] } }, "required": ["id", "owner", "shape", "language", "title", "summary", "avatar"] }, "selectionSeed": { "minLength": 1, "maxLength": 128, "type": "string" } }, "required": ["items", "total"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "UnitNotFound", "enum": ["UnitNotFound", "ZonePageNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchZonesByZoneIdPagesByPageIdFeed-block-executions", "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearchZonesByZoneIdPagesByPageIdFeed-block-executions", "x-rezics-quota-operation-id": "search.execute", "x-rezics-quota-cost-units": 5 } }, "/api/v1/search": { "post": { "summary": "Search across public categories", "tags": ["Search"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "query": { "maxLength": 500, "default": "", "type": "string" }, "indexes": { "minItems": 1, "maxItems": 10, "type": "array", "items": { "type": "string", "enum": [ "units", "entities", "tags", "posts", "realms", "collections", "reviews", "polls" ] } }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "Languages": { "maxItems": 50, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "owners": { "maxItems": 20, "uniqueItems": true, "type": "array", "items": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, "shapes": { "maxItems": 50, "type": "array", "items": { "minLength": 1, "type": "string" } }, "limitPerIndex": { "minimum": 1, "maximum": 20, "default": 5, "type": "integer" } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "query": { "type": "string" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "advisory": { "additionalProperties": false, "type": "object", "properties": { "code": { "type": "string", "const": "PersistedSortUnavailable" }, "requestedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "resolvedSort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" } }, "required": ["code", "requestedSort", "resolvedSort"] }, "facets": { "type": "array", "items": { "type": "object", "properties": { "controlKey": { "type": "string" }, "field": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "count": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" } }, "required": ["value", "count"] } } }, "required": ["field", "options"] } }, "groups": { "type": "array", "items": { "type": "object", "properties": { "index": { "type": "string" }, "hits": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": [ "slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath" ] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": [ "zh", "en", "ja", "ko", "de", "fr", "es" ], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "language", "title" ] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "limit": { "type": "integer" }, "processingTimeMs": { "type": "number" } }, "required": ["index", "hits", "total", "limit", "processingTimeMs"] } } }, "required": ["query", "groups"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearch", "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearch", "x-rezics-quota-operation-id": "search.execute", "x-rezics-quota-cost-units": 5 } }, "/api/v1/search/shared-queries": { "post": { "summary": "Create an immutable shared Search query", "tags": ["Search"], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": ["filterDocument", "state", "selections"], "properties": { "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SharedSearchQueryState" }, "selections": { "type": "array", "items": { "type": "object", "required": ["field", "value", "title", "kind"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at", "collection", "realm-tag-vote" ], "type": "string" }, "value": { "type": "string", "minLength": 1, "maxLength": 500 }, "title": { "type": "string", "minLength": 1, "maxLength": 500 }, "kind": { "type": "string", "minLength": 1, "maxLength": 100 } }, "additionalProperties": false, "$id": "SharedSearchQuerySelection" }, "maxItems": 100 } }, "additionalProperties": false, "$id": "SharedSearchQueryDocument" } } } }, "responses": { "201": { "description": "Response for status 201", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "document": { "type": "object", "required": ["filterDocument", "state", "selections"], "properties": { "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SharedSearchQueryState" }, "selections": { "type": "array", "items": { "type": "object", "required": ["field", "value", "title", "kind"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at", "collection", "realm-tag-vote" ], "type": "string" }, "value": { "type": "string", "minLength": 1, "maxLength": 500 }, "title": { "type": "string", "minLength": 1, "maxLength": 500 }, "kind": { "type": "string", "minLength": 1, "maxLength": 100 } }, "additionalProperties": false, "$id": "SharedSearchQuerySelection" }, "maxItems": 100 } }, "additionalProperties": false, "$id": "SharedSearchQueryDocument" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": ["id", "document", "createdAt"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiSearchShared-queries", "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearchShared-queries", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/shared-queries/{id}": { "get": { "summary": "Get a shared Search query", "tags": ["Search"], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "document": { "type": "object", "required": ["filterDocument", "state", "selections"], "properties": { "filterDocument": { "$ref": "#/components/schemas/FilterDocument" }, "state": { "type": "object", "properties": { "filter": { "$ref": "#/components/schemas/UnitFilter" }, "sort": { "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ], "type": "string" }, "pageSize": { "type": "integer", "minimum": 1, "maximum": 100 }, "expression": { "$ref": "#/components/schemas/SearchControlExpression" } }, "additionalProperties": false, "$id": "SharedSearchQueryState" }, "selections": { "type": "array", "items": { "type": "object", "required": ["field", "value", "title", "kind"], "properties": { "field": { "enum": [ "category", "unit-owner", "unit-shape", "language", "content-rating", "ai-disclosure", "license", "tag", "credit", "credited-profile", "realm", "realm-tag-context", "zone", "subject", "target", "root", "parent", "owner", "join-policy", "multiple", "results-visibility", "closed", "created-at", "updated-at", "published-at", "closes-at", "collection", "realm-tag-vote" ], "type": "string" }, "value": { "type": "string", "minLength": 1, "maxLength": 500 }, "title": { "type": "string", "minLength": 1, "maxLength": 500 }, "kind": { "type": "string", "minLength": 1, "maxLength": 100 } }, "additionalProperties": false, "$id": "SharedSearchQuerySelection" }, "maxItems": 100 } }, "additionalProperties": false, "$id": "SharedSearchQueryDocument" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": ["id", "document", "createdAt"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SharedSearchQueryNotFound", "enum": ["SharedSearchQueryNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiSearchShared-queriesById", "x-rezics-quota-route-operation-id": "getApiSearchShared-queriesById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/search/{index}": { "post": { "summary": "Search one public category", "tags": ["Search"], "parameters": [ { "name": "index", "in": "path", "required": true, "schema": { "type": "string", "enum": [ "units", "entities", "tags", "posts", "realms", "collections", "reviews", "polls" ] } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "query": { "maxLength": 500, "default": "", "type": "string" }, "cursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "limit": { "minimum": 1, "maximum": 50, "default": 20, "type": "integer" }, "localizationLanguages": { "maxItems": 7, "uniqueItems": true, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "Languages": { "maxItems": 50, "type": "array", "items": { "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": "string" } }, "owners": { "maxItems": 20, "uniqueItems": true, "type": "array", "items": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" } }, "shapes": { "maxItems": 50, "type": "array", "items": { "minLength": 1, "type": "string" } }, "contentRatings": { "maxItems": 4, "uniqueItems": true, "type": "array", "items": { "default": "general", "enum": ["general", "r15", "r18", "r18g"], "type": "string" } }, "aiDisclosures": { "maxItems": 50, "type": "array", "items": { "minLength": 1, "type": "string" } }, "licenses": { "maxItems": 50, "type": "array", "items": { "default": "cc-by-nc-sa-4.0", "enum": [ "cc-by-nc-sa-4.0", "cc-by-sa-4.0", "cc-by-sa-3.0", "all-rights-reserved", "cc-by-nc-4.0", "cc-by-4.0", "cc0-1.0", "pdm-1.0", "rezics-unit-content-license-v1-1" ], "type": "string" } }, "creditedEntityId": { "minLength": 1, "type": "string" }, "realmId": { "minLength": 1, "type": "string" }, "realmTagContextRealmId": { "type": "string", "format": "uuid" }, "subjectId": { "minLength": 1, "type": "string" }, "targetId": { "minLength": 1, "type": "string" }, "rootId": { "minLength": 1, "type": "string" }, "parentId": { "minLength": 1, "type": "string" }, "ownerId": { "minLength": 1, "type": "string" }, "joinPolicies": { "maxItems": 50, "type": "array", "items": { "minLength": 1, "type": "string" } }, "multiple": { "type": "boolean" }, "resultsVisibilities": { "maxItems": 50, "type": "array", "items": { "minLength": 1, "type": "string" } }, "closed": { "type": "boolean" }, "sort": { "type": "string", "enum": [ "best", "relevance", "createdAt:asc", "createdAt:desc", "updatedAt:asc", "updatedAt:desc", "publishedAt:asc", "publishedAt:desc", "followerCount:asc", "followerCount:desc", "replyCount:asc", "replyCount:desc", "closesAt:asc", "closesAt:desc", "title:asc", "title:desc", "progressLastSeenAt:asc", "progressLastSeenAt:desc" ] } } } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "hits": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "slugAddress": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "slug": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "scopeUnitId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "scopeNamespaceId": { "nullable": true, "type": ["string", "null"], "format": "uuid" }, "canonicalPath": { "minItems": 2, "maxItems": 3, "type": "array", "items": { "minLength": 1, "maxLength": 63, "pattern": "^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" } } }, "required": ["slug", "scopeUnitId", "scopeNamespaceId", "canonicalPath"] }, "category": { "type": "string" }, "owner": { "default": "publishing", "enum": [ "publishing", "music", "program", "software", "entity", "grouping", "reference", "distribution", "video", "audio", "post", "poll", "zone", "realm", "realm_rule", "custom_theme", "collection", "tag", "tag_path", "label" ], "type": "string" }, "shape": { "type": "string" }, "language": { "nullable": true, "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] }, "titles": { "type": "array", "items": { "type": "string" } }, "summaries": { "type": "array", "items": { "type": "string" } }, "avatar": { "nullable": true, "anyOf": [ { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "image" }, "image": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string" } }, "required": ["id", "url"] } }, "required": ["type", "image"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "emoji" }, "emoji": { "maxLength": 64, "type": "string" } }, "required": ["type", "emoji"] }, { "additionalProperties": false, "type": "object", "properties": { "type": { "type": "string", "const": "icon" }, "icon": { "additionalProperties": false, "type": "object", "properties": { "provider": { "type": "string", "const": "font-awesome" }, "prefix": { "enum": ["fas", "fab"], "type": "string" }, "name": { "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "maxLength": 128, "type": "string" } }, "required": ["provider", "prefix", "name"] } }, "required": ["type", "icon"] } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": ["string", "null"] }, "summary": { "nullable": true, "type": ["string", "null"] }, "tagMatches": { "maxItems": 8, "type": "array", "items": { "additionalProperties": false, "type": "object", "properties": { "matchedTagId": { "type": "string", "format": "uuid" }, "evidence": { "default": "direct", "enum": ["direct", "primary", "entailed", "retrieval_only"], "type": "string" }, "expression": { "additionalProperties": false, "type": "object", "properties": { "expressionId": { "type": "string", "format": "uuid" }, "expressionKind": { "default": "simple", "enum": ["simple", "facet_value", "relation"], "type": "string" }, "focusTagId": { "type": "string", "format": "uuid" }, "presentationRevision": { "minimum": 1, "type": "integer" }, "components": { "minItems": 1, "maxItems": 32, "type": "array", "items": { "type": "object", "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "componentKind": { "default": "required", "enum": ["required", "fallback"], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": [ "tagId", "semanticRole", "componentKind", "language", "title" ] } }, "groupKey": { "nullable": true, "type": ["object", "null"], "properties": { "tagId": { "type": "string", "format": "uuid" }, "semanticRole": { "default": "predicate", "enum": [ "predicate", "slot", "value", "focus", "qualifier" ], "type": "string" }, "language": { "nullable": true, "enum": ["zh", "en", "ja", "ko", "de", "fr", "es"], "type": ["string", "null"] }, "title": { "nullable": true, "type": ["string", "null"] } }, "required": ["tagId", "semanticRole", "language", "title"] } }, "required": [ "expressionId", "expressionKind", "focusTagId", "presentationRevision", "components", "groupKey" ] } }, "required": ["matchedTagId", "evidence", "expression"] } }, "tagHasOtherPositions": { "description": "Whether this Tag has another accepted public vocabulary position.", "type": "boolean" } }, "required": [ "id", "slugAddress", "category", "owner", "shape", "language", "title", "titles", "summaries", "summary" ] } }, "total": { "anyOf": [ { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "exact" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, { "type": "object", "required": ["kind", "value"], "properties": { "kind": { "type": "string", "const": "lower-bound" }, "value": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } ], "$id": "SearchCountResult" }, "nextCursor": { "type": "string", "minLength": 1, "maxLength": 4096, "description": "Opaque continuation token returned by the preceding Search page. Clients must not inspect or modify it." }, "limit": { "type": "integer" }, "processingTimeMs": { "type": "number" } }, "required": ["hits", "total", "limit", "processingTimeMs"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "InvalidSearch", "enum": ["InvalidSearch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } }, "503": { "description": "Response for status 503", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "SearchUnavailable", "enum": ["SearchUnavailable"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } } }, "operationId": "postApiSearchByIndex", "security": [{}, { "ApiToken": [] }, { "SessionCookie": [] }], "x-rezics-quota-route-operation-id": "postApiSearchByIndex", "x-rezics-quota-operation-id": "search.execute", "x-rezics-quota-cost-units": 5 } }, "/api/v1/image-assets": { "post": { "summary": "Create image asset upload", "tags": ["Image Assets"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "contentType": { "minLength": 1, "maxLength": 100, "type": "string" }, "size": { "minimum": 1, "maximum": 10485760, "type": "integer" }, "access": { "type": "string", "enum": ["private", "public"] } }, "required": ["contentType", "size"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "default": "pending", "enum": ["pending", "ready", "failed"], "type": "string" }, "access": { "type": "string", "enum": ["private", "public"] }, "contentType": { "nullable": true, "type": ["string", "null"] }, "size": { "nullable": true, "type": ["integer", "null"] }, "width": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "height": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "contentUrl": { "type": "string" }, "presentations": { "type": "array", "items": { "type": "object", "properties": { "role": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" }, "fit": { "type": "string", "enum": ["crop", "contain"] }, "crop": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "x": { "minimum": 0, "maximum": 1, "type": "number" }, "y": { "minimum": 0, "maximum": 1, "type": "number" }, "width": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" }, "height": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": ["x", "y", "width", "height"] }, "revision": { "minimum": 1, "type": "integer" }, "contentUrl": { "type": "string" } }, "required": ["role", "fit", "crop", "revision", "contentUrl"] } }, "createdAt": { "anyOf": [{}, { "type": "string" }, { "type": "number" }] }, "updatedAt": { "anyOf": [{}, { "type": "string" }, { "type": "number" }] } }, "required": [ "id", "status", "access", "contentType", "size", "width", "height", "contentUrl", "presentations", "createdAt", "updatedAt" ] }, { "type": "object", "properties": { "upload": { "type": "object", "properties": { "url": { "type": "string" }, "expiresIn": { "type": "integer" }, "headers": { "type": "object", "patternProperties": { "^(.*)$": { "type": "string" } } } }, "required": ["url", "expiresIn", "headers"] } }, "required": ["upload"] } ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "415": { "description": "Response for status 415", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetUnsupportedType", "enum": ["ImageAssetUnsupportedType"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiImage-assets", "x-rezics-quota-route-operation-id": "postApiImage-assets", "x-rezics-quota-operation-id": "image.upload", "x-rezics-quota-cost-units": 10 } }, "/api/v1/image-assets/{id}/complete": { "post": { "summary": "Complete image asset upload", "tags": ["Image Assets"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "additionalProperties": false, "type": "object", "properties": { "role": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" } }, "required": ["role"] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "default": "pending", "enum": ["pending", "ready", "failed"], "type": "string" }, "access": { "type": "string", "enum": ["private", "public"] }, "contentType": { "nullable": true, "type": ["string", "null"] }, "size": { "nullable": true, "type": ["integer", "null"] }, "width": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "height": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "contentUrl": { "type": "string" }, "presentations": { "type": "array", "items": { "type": "object", "properties": { "role": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" }, "fit": { "type": "string", "enum": ["crop", "contain"] }, "crop": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "x": { "minimum": 0, "maximum": 1, "type": "number" }, "y": { "minimum": 0, "maximum": 1, "type": "number" }, "width": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" }, "height": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": ["x", "y", "width", "height"] }, "revision": { "minimum": 1, "type": "integer" }, "contentUrl": { "type": "string" } }, "required": ["role", "fit", "crop", "revision", "contentUrl"] } }, "createdAt": { "anyOf": [{}, { "type": "string" }, { "type": "number" }] }, "updatedAt": { "anyOf": [{}, { "type": "string" }, { "type": "number" }] } }, "required": [ "id", "status", "access", "contentType", "size", "width", "height", "contentUrl", "presentations", "createdAt", "updatedAt" ] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound", "ImageAssetUploadNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetInvalidState", "enum": ["ImageAssetInvalidState"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetInvalidSize", "enum": ["ImageAssetInvalidSize", "ImageAssetContentMismatch"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "postApiImage-assetsByIdComplete", "x-rezics-quota-route-operation-id": "postApiImage-assetsByIdComplete", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/image-assets/{id}/presentations/{role}": { "put": { "summary": "Update image asset presentation", "tags": ["Image Assets"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "role", "in": "path", "required": true, "schema": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "additionalProperties": false, "type": "object", "properties": { "fit": { "type": "string", "const": "contain" } }, "required": ["fit"] }, { "additionalProperties": false, "type": "object", "properties": { "fit": { "type": "string", "const": "crop" }, "crop": { "additionalProperties": false, "type": "object", "properties": { "x": { "minimum": 0, "maximum": 1, "type": "number" }, "y": { "minimum": 0, "maximum": 1, "type": "number" }, "width": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" }, "height": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": ["x", "y", "width", "height"] } }, "required": ["fit", "crop"] } ] } } } }, "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "role": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" }, "fit": { "type": "string", "enum": ["crop", "contain"] }, "crop": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "x": { "minimum": 0, "maximum": 1, "type": "number" }, "y": { "minimum": 0, "maximum": 1, "type": "number" }, "width": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" }, "height": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": ["x", "y", "width", "height"] }, "revision": { "minimum": 1, "type": "integer" }, "contentUrl": { "type": "string" } }, "required": ["role", "fit", "crop", "revision", "contentUrl"] } } } }, "400": { "description": "Request body could not be parsed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MalformedRequestBody" } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetInvalidState", "enum": ["ImageAssetInvalidState"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Response for status 422", "content": { "application/json": { "schema": { "oneOf": [ { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetInvalidPresentation", "enum": ["ImageAssetInvalidPresentation"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] }, { "$ref": "#/components/schemas/ValidationError" } ] } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "putApiImage-assetsByIdPresentationsByRole", "x-rezics-quota-route-operation-id": "putApiImage-assetsByIdPresentationsByRole", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } }, "/api/v1/image-assets/{id}": { "get": { "summary": "Get image asset", "tags": ["Image Assets"], "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "Response for status 200", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "status": { "default": "pending", "enum": ["pending", "ready", "failed"], "type": "string" }, "access": { "type": "string", "enum": ["private", "public"] }, "contentType": { "nullable": true, "type": ["string", "null"] }, "size": { "nullable": true, "type": ["integer", "null"] }, "width": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "height": { "nullable": true, "minimum": 1, "type": ["integer", "null"] }, "contentUrl": { "type": "string" }, "presentations": { "type": "array", "items": { "type": "object", "properties": { "role": { "default": "avatar", "enum": ["avatar", "banner", "cover"], "type": "string" }, "fit": { "type": "string", "enum": ["crop", "contain"] }, "crop": { "nullable": true, "additionalProperties": false, "type": ["object", "null"], "properties": { "x": { "minimum": 0, "maximum": 1, "type": "number" }, "y": { "minimum": 0, "maximum": 1, "type": "number" }, "width": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" }, "height": { "exclusiveMinimum": 0, "maximum": 1, "type": "number" } }, "required": ["x", "y", "width", "height"] }, "revision": { "minimum": 1, "type": "integer" }, "contentUrl": { "type": "string" } }, "required": ["role", "fit", "crop", "revision", "contentUrl"] } }, "createdAt": { "anyOf": [{}, { "type": "string" }, { "type": "number" }] }, "updatedAt": { "anyOf": [{}, { "type": "string" }, { "type": "number" }] } }, "required": [ "id", "status", "access", "contentType", "size", "width", "height", "contentUrl", "presentations", "createdAt", "updatedAt" ] } } } }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "operationId": "getApiImage-assetsById", "x-rezics-quota-route-operation-id": "getApiImage-assetsById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 }, "delete": { "summary": "Delete incomplete image asset", "tags": ["Image Assets"], "responses": { "204": { "description": "Response for status 204" }, "401": { "description": "Response for status 401", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "AuthenticationRequired", "enum": ["AuthenticationRequired"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "404": { "description": "Response for status 404", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetNotFound", "enum": ["ImageAssetNotFound"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "409": { "description": "Response for status 409", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "code": { "default": "ImageAssetInUse", "enum": ["ImageAssetInUse"], "type": "string" }, "message": { "type": "string" }, "details": {} }, "required": ["code", "message"] }, "requestId": { "type": "string" } }, "required": ["error", "requestId"] } } } }, "422": { "description": "Request validation failed", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidationError" } } } }, "429": { "description": "API quota exceeded", "headers": { "Retry-After": { "description": "Seconds until this request can be retried", "schema": { "type": "integer", "minimum": 1 } } }, "content": { "application/json": { "schema": { "type": "object", "required": ["error", "requestId"], "properties": { "error": { "type": "object", "required": ["code", "message"], "properties": { "code": { "type": "string", "enum": ["ApiQuotaExceeded", "ApiTokenRateLimitExceeded"] }, "message": { "type": "string" }, "details": { "$ref": "#/components/schemas/JsonValue" } } }, "requestId": { "type": "string" } } } } } }, "500": { "description": "Unexpected internal failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalError" } } } } }, "security": [{ "ApiToken": [] }, { "SessionCookie": [] }], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "operationId": "deleteApiImage-assetsById", "x-rezics-quota-route-operation-id": "deleteApiImage-assetsById", "x-rezics-quota-operation-id": "*", "x-rezics-quota-cost-units": 1 } } } }