API HTTPcatalog-svc

GET /kinds

Registro de kinds de obra

ImplementadoSin versión del tren todavía· generada desde apps/docs/generated/openapi/catalog-svc.json

Página generada desde apps/catalog-svc/src/app.aot.ts. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla 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).

CampoValor
Serviciocatalog-svc
operationIdgetKinds
Policy (dec-0118 §3)public
Tagscatalog

Respuestas

200

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."
}

400

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"
}

404

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"
}

422

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"
}

500

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"
}

502

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"
}

503

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"
}

504

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"
}