{"openapi":"3.0.3","info":{"title":"DWFW · Núcleo digital — API REST","version":"1.0.0","description":"Una sola API para el panel del curador, el admin y la web pública. Contenido en es/en/zh/ja (?locale=). RBAC por capacidad. Sin métricas de popularidad (epojé algorítmica). GraphQL desactivado."},"servers":[{"url":"https://dwfw.trabemflex.com"}],"tags":[{"name":"auth","description":"Sesión y permisos"},{"name":"usuarios","description":"Usuarios — lectura: sesion; escritura: usuario:gestionar"},{"name":"autores","description":"Autores — lectura: publica; escritura: autor:gestionar"},{"name":"obras","description":"Obras — lectura: archivo; escritura: obra:crear · obra:editar / obra:editar_propia · obra:borrar · movimiento:avanzar (estadoCuratorial)"},{"name":"nodos","description":"Nodos — lectura: publica; escritura: nodo:gestionar"},{"name":"conexiones","description":"Conexiones — lectura: publica; escritura: conexion:proponer · conexion:confirmar"},{"name":"significados","description":"Significados — lectura: publica; escritura: significado:asignar"},{"name":"movimientos","description":"Movimientos curatoriales — lectura: publica; escritura: movimiento:avanzar"},{"name":"ediciones","description":"Ediciones — lectura: publica; escritura: edicion:gestionar"},{"name":"capitulos","description":"Capítulos de marca — lectura: publica; escritura: capitulo:gestionar"},{"name":"piezas","description":"Piezas audiovisuales — lectura: publica; escritura: pieza:gestionar"},{"name":"media","description":"Activos técnicos — lectura: archivo; escritura: obra:crear (subir) · propio: editar / borrar si no publicado · obra:editar: todo y publicar"}],"paths":{"/api/usuarios":{"get":{"tags":["usuarios"],"summary":"Listar Usuarios","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/usuarios"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["usuarios"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/usuarios"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/usuarios"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/usuarios/count":{"get":{"tags":["usuarios"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/usuarios/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["usuarios"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/usuarios"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["usuarios"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/usuarios"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/usuarios"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["usuarios"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/usuarios"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/autores":{"get":{"tags":["autores"],"summary":"Listar Autores","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/autores"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["autores"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/autores"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/autores"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/autores/count":{"get":{"tags":["autores"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/autores/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["autores"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/autores"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["autores"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/autores"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/autores"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["autores"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/autores"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/obras":{"get":{"tags":["obras"],"summary":"Listar Obras","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/obras"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["obras"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/obras"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/obras"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/obras/count":{"get":{"tags":["obras"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/obras/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["obras"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/obras"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["obras"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/obras"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/obras"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["obras"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/obras"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/nodos":{"get":{"tags":["nodos"],"summary":"Listar Nodos","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/nodos"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["nodos"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/nodos"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/nodos"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/nodos/count":{"get":{"tags":["nodos"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/nodos/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["nodos"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/nodos"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["nodos"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/nodos"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/nodos"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["nodos"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/nodos"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/conexiones":{"get":{"tags":["conexiones"],"summary":"Listar Conexiones","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/conexiones"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["conexiones"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/conexiones"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/conexiones"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/conexiones/count":{"get":{"tags":["conexiones"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/conexiones/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["conexiones"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/conexiones"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["conexiones"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/conexiones"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/conexiones"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["conexiones"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/conexiones"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/significados":{"get":{"tags":["significados"],"summary":"Listar Significados","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/significados"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["significados"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/significados"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/significados"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/significados/count":{"get":{"tags":["significados"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/significados/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["significados"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/significados"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["significados"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/significados"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/significados"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["significados"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/significados"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/movimientos":{"get":{"tags":["movimientos"],"summary":"Listar Movimientos curatoriales","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/movimientos"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["movimientos"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/movimientos"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/movimientos"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/movimientos/count":{"get":{"tags":["movimientos"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/movimientos/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["movimientos"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/movimientos"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["movimientos"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/movimientos"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/movimientos"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["movimientos"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/movimientos"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/ediciones":{"get":{"tags":["ediciones"],"summary":"Listar Ediciones","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/ediciones"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["ediciones"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ediciones"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/ediciones"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/ediciones/count":{"get":{"tags":["ediciones"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/ediciones/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["ediciones"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ediciones"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["ediciones"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ediciones"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/ediciones"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["ediciones"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ediciones"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/capitulos":{"get":{"tags":["capitulos"],"summary":"Listar Capítulos de marca","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/capitulos"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["capitulos"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/capitulos"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/capitulos"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/capitulos/count":{"get":{"tags":["capitulos"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/capitulos/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["capitulos"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/capitulos"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["capitulos"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/capitulos"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/capitulos"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["capitulos"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/capitulos"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/piezas":{"get":{"tags":["piezas"],"summary":"Listar Piezas audiovisuales","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/piezas"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["piezas"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/piezas"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/piezas"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/piezas/count":{"get":{"tags":["piezas"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/piezas/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["piezas"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/piezas"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["piezas"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/piezas"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/piezas"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["piezas"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/piezas"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/media":{"get":{"tags":["media"],"summary":"Listar Activos técnicos","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."},{"name":"limit","in":"query","schema":{"type":"integer","default":10}},{"name":"page","in":"query","schema":{"type":"integer","default":1}},{"name":"sort","in":"query","schema":{"type":"string"},"description":"Campo; con `-` delante, descendente."},{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."},{"name":"select","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Campos a devolver: select[campo]=true."}],"responses":{"200":{"description":"Lista paginada","content":{"application/json":{"schema":{"type":"object","properties":{"docs":{"type":"array","items":{"$ref":"#/components/schemas/media"}},"totalDocs":{"type":"integer"},"limit":{"type":"integer"},"totalPages":{"type":"integer"},"page":{"type":"integer"},"pagingCounter":{"type":"integer"},"hasPrevPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"},"prevPage":{"type":"integer","nullable":true},"nextPage":{"type":"integer","nullable":true}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["media"],"summary":"Crear","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/media"}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/media"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/media/count":{"get":{"tags":["media"],"summary":"Contar","parameters":[{"name":"where","in":"query","style":"deepObject","explode":true,"schema":{"type":"object"},"description":"Filtros: where[campo][operador]=valor; combinables con where[and][n] / where[or][n]."}],"responses":{"200":{"description":"Recuento","content":{"application/json":{"schema":{"type":"object","properties":{"totalDocs":{"type":"integer"}}}}}}}}},"/api/media/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["media"],"summary":"Leer uno","parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."},{"name":"fallback-locale","in":"query","schema":{"type":"string"},"description":"Idioma al que caer si falta traducción; `none` para no caer."},{"name":"depth","in":"query","schema":{"type":"integer","minimum":0,"default":2},"description":"Niveles de relaciones resueltas."}],"responses":{"200":{"description":"Documento","content":{"application/json":{"schema":{"$ref":"#/components/schemas/media"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["media"],"summary":"Actualizar (parcial)","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"locale","in":"query","schema":{"type":"string","enum":["es","en","zh","ja"]},"description":"Idioma del contenido (defecto es)."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/media"}}}},"responses":{"200":{"description":"Actualizado","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"doc":{"$ref":"#/components/schemas/media"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"tags":["media"],"summary":"Borrar","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Borrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/media"}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/usuarios/login":{"post":{"tags":["auth"],"summary":"Iniciar sesión","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","format":"password"}}}}}},"responses":{"200":{"description":"Sesión iniciada: devuelve JWT y deja la cookie payload-token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sesion"}}}},"401":{"description":"Sin sesión","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/usuarios/logout":{"post":{"tags":["auth"],"summary":"Cerrar sesión","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Sesión cerrada"}}}},"/api/usuarios/me":{"get":{"tags":["auth"],"summary":"Usuario de la sesión (user = null si no hay)","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Usuario","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/usuarios"},"token":{"type":"string"},"exp":{"type":"integer"}}}}}}}}},"/api/usuarios/refresh-token":{"post":{"tags":["auth"],"summary":"Renovar el JWT antes de que caduque","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Token renovado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Sesion"}}}}}}},"/api/media/firmar":{"post":{"tags":["media"],"summary":"Paso 1 de la subida directa a R2: URL PUT firmada (10 min) + firma de registro. Requiere obra:crear. Comprueba tipo, límite por categoría, cuota del usuario y límite de 60/h.","security":[{"cookie":[]},{"jwt":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["filename","mimeType","filesize"],"properties":{"filename":{"type":"string"},"mimeType":{"type":"string"},"filesize":{"type":"integer"}}}}}},"responses":{"200":{"description":"URL firmada","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"filename":{"type":"string","description":"Nombre saneado y único que hay que usar al registrar"},"categoria":{"type":"string","enum":["imagen","video","modelo3d","documento"]},"expiraEn":{"type":"integer"},"firma":{"type":"string","description":"Prueba de propiedad (HMAC) que exige /registrar"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Cuota superada o demasiadas peticiones (Retry-After)"}}}},"/api/media/registrar":{"post":{"tags":["media"],"summary":"Paso 3 de la subida directa: crea el documento de media para un objeto ya subido a R2 (sin pasar el archivo por el servidor). Exige la firma de /firmar para este usuario.","security":[{"cookie":[]},{"jwt":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["filename","firma"],"properties":{"filename":{"type":"string"},"firma":{"type":"string"},"mimeType":{"type":"string"},"titulo":{"type":"string"},"alt":{"type":"string"},"obra":{"type":"integer"},"ficha":{"type":"object"}}}}}},"responses":{"201":{"description":"Creado","content":{"application/json":{"schema":{"type":"object","properties":{"doc":{"$ref":"#/components/schemas/media"}}}}}},"400":{"description":"Validación / petición mal formada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Cuota superada"}}}},"/api/media/cuota":{"get":{"tags":["media"],"summary":"Uso y límites de cuota del usuario de la sesión","security":[{"cookie":[]},{"jwt":[]}],"responses":{"200":{"description":"Uso","content":{"application/json":{"schema":{"type":"object","properties":{"uso":{"type":"object","properties":{"bytes":{"type":"integer"},"archivos":{"type":"integer"},"bytesDia":{"type":"integer"},"archivosDia":{"type":"integer"}}},"limites":{"type":"object","properties":{"totalBytes":{"type":"integer"},"totalArchivos":{"type":"integer"},"diaBytes":{"type":"integer"},"diaArchivos":{"type":"integer"}}},"exento":{"type":"boolean"}}}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/media/barrer":{"post":{"tags":["media"],"summary":"Barrido de huérfanos en R2 (objetos sin documento y de más de 24 h). Solo usuario:gestionar o cabecera X-Barrido. ?simular=1 solo informa.","security":[{"cookie":[]},{"jwt":[]}],"parameters":[{"name":"simular","in":"query","schema":{"type":"string","enum":["1"]}}],"responses":{"200":{"description":"Resultado","content":{"application/json":{"schema":{"type":"object","properties":{"objetos":{"type":"integer"},"registrados":{"type":"integer"},"huerfanos":{"type":"array","items":{"type":"string"}},"bytes":{"type":"integer"},"borrados":{"type":"integer"},"simulado":{"type":"boolean"}}}}}},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/media/file/{filename}":{"get":{"tags":["media"],"summary":"Descarga de un activo. Aplica el access de lectura de media (público solo lo publicado) y redirige (302) a una URL firmada temporal de R2.","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirección a URL firmada"},"403":{"description":"Sin capacidad suficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No existe","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/idioma":{"get":{"tags":["auth"],"summary":"Fija la cookie de idioma de las interfaces propias y vuelve a una ruta relativa del sitio","parameters":[{"name":"a","in":"query","required":true,"schema":{"type":"string","enum":["es","en","zh","ja"]}},{"name":"volver","in":"query","schema":{"type":"string","default":"/"}}],"responses":{"303":{"description":"Redirección"}}}},"/api/access":{"get":{"tags":["auth"],"summary":"Qué puede hacer la sesión actual en cada colección","responses":{"200":{"description":"Permisos por colección y campo","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"cookie":{"type":"apiKey","in":"cookie","name":"payload-token"},"jwt":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Cabecera: Authorization: JWT <token>"}},"schemas":{"usuarios":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"nombre":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"roles":{"type":"array","items":{"type":"string","enum":["direccion","founding_curator","curador","investigador","creador","partner","media","advisory"]}},"concesiones":{"type":"array","items":{"type":"object","properties":{"capacidad":{"type":"string","enum":["obra:leer","obra:crear","obra:editar","obra:editar_propia","obra:borrar","autor:leer","autor:gestionar","autor:editar_taller","nodo:leer","nodo:gestionar","conexion:leer","conexion:proponer","conexion:confirmar","significado:leer","significado:asignar","movimiento:avanzar","index:leer","edicion:leer","edicion:gestionar","capitulo:gestionar","pieza:gestionar","usuario:gestionar"]},"caduca":{"type":"string","format":"date-time"},"motivo":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true}}}},"scopeEdiciones":{"type":"array","items":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/ediciones"}]}},"autor":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/autores"}]},"enableAPIKey":{"type":"boolean"},"apiKey":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"email":{"type":"string","format":"email"}},"required":["nombre","roles","email"]},"autores":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"nombre":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"tipo":{"type":"string","enum":["diseñador","investigador","artista","colectivo","laboratorio","institucion"]},"origenCultural":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"bio":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"trayectoria":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"nodos":{"type":"array","items":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/nodos"}]}},"taller":{"type":"object","properties":{"capacidad":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"materiales":{"type":"array","items":{"type":"string","enum":["algodon","lana","lino","seda","cuero","punto","denim","fibras_sinteticas","materiales_biobasados","textil_tecnico","sin_material_fisico"]}},"tecnologias":{"type":"array","items":{"type":"string","enum":["patronaje_digital","modelado_3d","simulacion_textil","diseno_generativo","impresion_3d","corte_laser","bordado_digital","estampacion_digital","tejido_punto_industrial","confeccion_artesanal","tenido_natural"]}},"usaFibrasRecicladas":{"type":"boolean"},"fibrasRecicladasDetalle":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"notasSostenibilidad":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."}}}},"required":["nombre","tipo"]},"obras":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"titulo":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"tipo":{"type":"string","enum":["modelo_3d","avatar","coleccion_digital","prenda_fisica","experiencia_inmersiva","codigo_generativo"]},"autor":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/autores"}]},"nodoOrigen":{"type":"string","enum":["academico_investigador","comunidad_digital_emergente","laboratorio_ia","institucion_archivo"]},"estadoCuratorial":{"type":"string","enum":["movimiento_1","movimiento_2","movimiento_3","movimiento_4","movimiento_5","movimiento_6","movimiento_7"]},"descripcionFormal":{"type":"object","properties":{"silueta":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"material":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"sintaxisVisual":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."}}},"activosTecnicos":{"type":"string"},"edicion":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/ediciones"}]}},"required":["titulo","tipo","autor","nodoOrigen","estadoCuratorial"]},"nodos":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"nombre":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"tipo":{"type":"string","enum":["corriente_filosofica","desarrollo_tecnologico_previo","comunidad_subcultura","institucion","tension_cultural"]},"descripcion":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."}},"required":["nombre","tipo"]},"conexiones":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"origen":{"oneOf":[{"type":"object","properties":{"relationTo":{"type":"string","enum":["obras","nodos"]},"value":{"oneOf":[{"type":"integer"},{"$ref":"#/components/schemas/obras"},{"$ref":"#/components/schemas/nodos"}]}},"required":["relationTo","value"]}],"description":"Relación polimórfica: { relationTo, value }. Con depth=0, value es el id."},"destino":{"oneOf":[{"type":"object","properties":{"relationTo":{"type":"string","enum":["obras","nodos"]},"value":{"oneOf":[{"type":"integer"},{"$ref":"#/components/schemas/obras"},{"$ref":"#/components/schemas/nodos"}]}},"required":["relationTo","value"]}],"description":"Relación polimórfica: { relationTo, value }. Con depth=0, value es el id."},"tipoRelacion":{"type":"string","enum":["dialoga_con","posibilitada_por","conversacion_paralela_con"]},"procedencia":{"type":"string","enum":["maquina","humano"]},"estado":{"type":"string","enum":["propuesta","confirmada","descartada"]},"confirmadaPor":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/usuarios"}]},"confirmadaEn":{"type":"string","format":"date-time"},"nota":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."}},"required":["origen","destino","tipoRelacion","procedencia","estado"]},"significados":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"obra":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/obras"}]},"tensionSubyacente":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"lectura":{"type":"array","items":{"type":"object","properties":{"tipo":{"type":"string","enum":["antropologica","etica","poetica"]},"texto":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."}}}},"textosTeoricos":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"curador":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/usuarios"}]},"procedencia":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true}},"required":["obra","tensionSubyacente"]},"movimientos":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"obra":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/obras"}]},"movimiento":{"type":"string","enum":["movimiento_1","movimiento_2","movimiento_3","movimiento_4","movimiento_5","movimiento_6","movimiento_7"]},"estado":{"type":"string","enum":["pendiente","en_curso","completado"]},"responsable":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/usuarios"}]},"procedencia":{"type":"string","enum":["maquina","humano"]},"notas":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."}},"required":["obra","movimiento","estado","procedencia"]},"ediciones":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"nombre":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"fechaInicio":{"type":"string","format":"date-time"},"fechaFin":{"type":"string","format":"date-time"},"ciudadAnfitriona":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"paisEnFoco":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true}},"required":["nombre","fechaInicio"]},"capitulos":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"titulo":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"edicion":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/ediciones"}]},"autor":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/autores"}]},"duracionMin":{"type":"number"},"seccion":{"type":"string","enum":["country_in_focus","icons_of_design","future_lab","conversaciones"]},"continente":{"type":"string","enum":["asia","oceania","europa","africa","america"]},"obras":{"type":"array","items":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/obras"}]}}},"required":["titulo","edicion"]},"piezas":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"titulo":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"tipo":{"type":"string","enum":["premiere","conversacion","making_of","hero_look","reemision","clip"]},"capitulo":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/capitulos"}]},"obra":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/obras"}]},"urlStreaming":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true}},"required":["titulo"]},"media":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"titulo":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"alt":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"categoria":{"type":"string","enum":["imagen","video","modelo3d","documento"],"readOnly":true},"obra":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/obras"}]},"publico":{"type":"boolean"},"subidoPor":{"oneOf":[{"type":"integer","description":"id (depth=0)"},{"$ref":"#/components/schemas/usuarios"}],"readOnly":true},"ficha":{"type":"object","properties":{"descripcion":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=)."},"creditos":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"materiales":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true},"usoIA":{"type":"string","enum":["ninguno","asistido","generativo"]},"licencia":{"type":"string","enum":["todos_los_derechos","cc_by","cc_by_nc","cc_by_nc_nd"]},"software":{"type":"string","description":"Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=). Campo localizado (?locale=).","readOnly":true}}}}},"Error":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"},"data":{"type":"object"}}}}}},"Sesion":{"type":"object","properties":{"message":{"type":"string"},"user":{"$ref":"#/components/schemas/usuarios"},"token":{"type":"string"},"exp":{"type":"integer"}}}}}}