Registro de kinds de obra
apps/docs/generated/openapi/catalog-svc.jsonPágina generada desde
apps/catalog-svc/src/app.aot.ts. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
GET /kinds
Kinds registrados (los 6 audiovisuales del core y los de los plugins content-type) con su descriptor de presentación. Un cliente trata un kind que no conoce con la presentación genérica (dec-0132 §4.2).
| Campo | Valor |
|---|---|
| Servicio | catalog-svc |
| operationId | getKinds |
Policy (dec-0118 §3) | public |
| Tags | catalog |
Registro de kinds de obra con su descriptor de presentación. Un cliente trata un kind que no conoce con la presentación genérica.
application/json
{
"type": "object",
"required": [
"kinds"
],
"properties": {
"kinds": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"finite",
"label",
"family",
"facets",
"requiredFacets",
"layouts",
"editionKinds",
"relations",
"actions",
"pipelines"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z0-9-]+)*$",
"maxLength": 64,
"description": "Id registrado de un kind de obra (dec-0132): `movie`, `game.ps5`, `music.album`…"
},
"finite": {
"type": "boolean",
"const": true
},
"label": {
"type": "string"
},
"family": {
"type": "string"
},
"facets": {
"type": "array",
"items": {
"type": "string"
}
},
"requiredFacets": {
"type": "array",
"items": {
"type": "string"
}
},
"layouts": {
"type": "array",
"items": {
"type": "string",
"enum": [
"file",
"tree",
"image"
]
}
},
"editionKinds": {
"type": "array",
"items": {
"type": "string"
}
},
"relations": {
"type": "array",
"items": {
"type": "string"
}
},
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"pipelines": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"description": "Registro de kinds de obra con su descriptor de presentación. Un cliente trata un kind que no conoce con la presentación genérica."
}Problem Details (RFC 9457), status 400. Códigos: CATALOG_INVALID_PATH, CATALOG_PERMISSION_DENIED, CATALOG_MEDIA_UNSUPPORTED, CATALOG_MEDIA_TIMELINE_OUT_OF_RANGE, CATALOG_INVALID_INPUT.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code",
"retryable",
"category"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 400
},
"code": {
"type": "string",
"enum": [
"CATALOG_INVALID_PATH",
"CATALOG_PERMISSION_DENIED",
"CATALOG_MEDIA_UNSUPPORTED",
"CATALOG_MEDIA_TIMELINE_OUT_OF_RANGE",
"CATALOG_INVALID_INPUT"
]
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"transient",
"permanent",
"recoverable"
]
}
},
"x-styx-media-type": "application/problem+json"
}Problem Details (RFC 9457), status 404. Códigos: CATALOG_ASSET_NOT_FOUND, CATALOG_WORK_NOT_FOUND, CATALOG_EDITION_NOT_FOUND.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code",
"retryable",
"category"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 404
},
"code": {
"type": "string",
"enum": [
"CATALOG_ASSET_NOT_FOUND",
"CATALOG_WORK_NOT_FOUND",
"CATALOG_EDITION_NOT_FOUND"
]
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"transient",
"permanent",
"recoverable"
]
}
},
"x-styx-media-type": "application/problem+json"
}Problem Details (RFC 9457), status 422. Códigos: validation.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 422
},
"code": {
"type": "string",
"const": "validation"
},
"on": {
"type": "string"
},
"property": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"x-styx-media-type": "application/problem+json"
}Problem Details (RFC 9457), status 500. Códigos: CATALOG_INTERNAL.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code",
"retryable",
"category"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 500
},
"code": {
"type": "string",
"const": "CATALOG_INTERNAL"
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"transient",
"permanent",
"recoverable"
]
}
},
"x-styx-media-type": "application/problem+json"
}Problem Details (RFC 9457), status 502. Códigos: CATALOG_PROBE_FAILED.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code",
"retryable",
"category"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 502
},
"code": {
"type": "string",
"const": "CATALOG_PROBE_FAILED"
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"transient",
"permanent",
"recoverable"
]
}
},
"x-styx-media-type": "application/problem+json"
}Problem Details (RFC 9457), status 503. Códigos: CATALOG_DB_WRITE_FAILED, CATALOG_DB_READ_FAILED, CATALOG_NATS_PUBLISH_FAILED.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code",
"retryable",
"category"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 503
},
"code": {
"type": "string",
"enum": [
"CATALOG_DB_WRITE_FAILED",
"CATALOG_DB_READ_FAILED",
"CATALOG_NATS_PUBLISH_FAILED"
]
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"transient",
"permanent",
"recoverable"
]
}
},
"x-styx-media-type": "application/problem+json"
}Problem Details (RFC 9457), status 504. Códigos: CATALOG_PROBE_TIMEOUT.
application/problem+json
{
"type": "object",
"required": [
"type",
"title",
"status",
"code",
"retryable",
"category"
],
"properties": {
"type": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "number",
"const": 504
},
"code": {
"type": "string",
"const": "CATALOG_PROBE_TIMEOUT"
},
"detail": {
"type": "string"
},
"instance": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"category": {
"type": "string",
"enum": [
"transient",
"permanent",
"recoverable"
]
}
},
"x-styx-media-type": "application/problem+json"
}