{"openapi":"3.1.0","info":{"title":"Rowan · Plataforma de recopilación de datos","description":"Rowan — Recopilación automatizada de datos de fuentes abiertas. Plataforma interna de datos.","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["Sistema"],"summary":"Estado de salud (RF-001)","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Health Health Get"}}}}}}},"/version":{"get":{"tags":["Sistema"],"summary":"Versión X.Y.Z (RF-003)","operationId":"version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Version Version Get"}}}}}}},"/":{"get":{"tags":["Sistema"],"summary":"Documentación/ayuda de la API (RF-002)","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/favicon.ico":{"get":{"tags":["Sistema"],"summary":"Favicon (RF-004)","description":"Isotipo de Rowan. Se sirve como PNG, que es lo que declara la OpenAPI (RF-004).","operationId":"favicon_favicon_ico_get","responses":{"200":{"description":"Icono de la aplicación","content":{"image/png":{}}}}}},"/gazette":{"get":{"tags":["Boletines"],"summary":"Listar boletines (RF-005)","operationId":"list_gazettes_gazette_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}},{"name":"minDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Mindate"}},{"name":"maxDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Maxdate"}},{"name":"minRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Minretrievaldate"}},{"name":"maxRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Maxretrievaldate"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Página inicial (1-indexed)","default":1,"title":"Page"},"description":"Página inicial (1-indexed)"},{"name":"num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Tamaño de página; 0 = todos","default":20,"title":"Num"},"description":"Tamaño de página; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountGazettes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dates/gazette":{"get":{"tags":["Boletines"],"summary":"Rango de fechas global (RF-008)","operationId":"gazette_dates_dates_gazette_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dates"}}}}},"security":[{"APIKeyHeader":[]}]}},"/dates/gazette/{name}":{"get":{"tags":["Boletines"],"summary":"Rango de fechas de un boletín (RF-009)","operationId":"gazette_dates_by_name_dates_gazette__name__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dates"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gazette/{id}":{"get":{"tags":["Boletines"],"summary":"Boletín por id (RF-006)","operationId":"get_gazette_by_id_gazette__id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GazetteInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gazette/{name}":{"get":{"tags":["Boletines"],"summary":"Boletín por nombre y fecha (RF-007)","operationId":"get_gazette_by_name_gazette__name__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GazetteInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/category":{"get":{"tags":["Productos"],"summary":"Listar categorías (RF-010)","operationId":"list_categories_category_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response List Categories Category Get"}}}}},"security":[{"APIKeyHeader":[]}]}},"/store":{"get":{"tags":["Productos"],"summary":"Listar tiendas (RF-011)","operationId":"list_stores_store_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"products","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Products"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Página inicial (1-indexed)","default":1,"title":"Page"},"description":"Página inicial (1-indexed)"},{"name":"num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Tamaño de página; 0 = todos","default":20,"title":"Num"},"description":"Tamaño de página; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountStores"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/product":{"get":{"tags":["Productos"],"summary":"Listar productos (RF-014)","operationId":"list_products_product_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}},{"name":"minRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Minretrievaldate"}},{"name":"maxRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Maxretrievaldate"}},{"name":"store","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Store"}},{"name":"variants","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Variants"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Página inicial (1-indexed)","default":1,"title":"Page"},"description":"Página inicial (1-indexed)"},{"name":"num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Tamaño de página; 0 = todos","default":20,"title":"Num"},"description":"Tamaño de página; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountMinimumProducts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/history":{"get":{"tags":["Productos"],"summary":"Listar capturas históricas (RF-015)","operationId":"list_history_history_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}},{"name":"minRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Minretrievaldate"}},{"name":"maxRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Maxretrievaldate"}},{"name":"store","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Store"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Página inicial (1-indexed)","default":1,"title":"Page"},"description":"Página inicial (1-indexed)"},{"name":"num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Tamaño de página; 0 = todos","default":20,"title":"Num"},"description":"Tamaño de página; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountMinimumHistory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dates/history":{"get":{"tags":["Productos"],"summary":"Rango de fechas de capturas (RF-018)","operationId":"history_dates_dates_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateRange"}}}}},"security":[{"APIKeyHeader":[]}]}},"/dates/history/{productKey}":{"get":{"tags":["Productos"],"summary":"Rango de fechas de una clave (RF-019)","operationId":"history_dates_by_key_dates_history__productKey__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"productKey","in":"path","required":true,"schema":{"type":"string","title":"Productkey"}},{"name":"store","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Store"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateRange"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/store/{storeId}":{"get":{"tags":["Productos"],"summary":"Tienda por id (RF-012)","operationId":"get_store_by_id_store__storeId__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"storeId","in":"path","required":true,"schema":{"type":"integer","title":"Storeid"}},{"name":"products","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Products"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Store"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/store/{storeName}":{"get":{"tags":["Productos"],"summary":"Tienda por nombre (RF-013)","operationId":"get_store_by_name_store__storeName__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"storeName","in":"path","required":true,"schema":{"type":"string","title":"Storename"}},{"name":"products","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Products"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Store"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/history/{historyId}":{"get":{"tags":["Productos"],"summary":"Captura concreta por id de histórico (RF-016)","operationId":"get_history_by_id_history__historyId__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"historyId","in":"path","required":true,"schema":{"type":"integer","title":"Historyid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/History"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/history/{productKey}":{"get":{"tags":["Productos"],"summary":"Histórico paginado de una clave (RF-017)","operationId":"get_history_by_key_history__productKey__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"productKey","in":"path","required":true,"schema":{"type":"string","title":"Productkey"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}},{"name":"minRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Minretrievaldate"}},{"name":"maxRetrievalDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Maxretrievaldate"}},{"name":"store","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Store"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Página inicial (1-indexed)","default":1,"title":"Page"},"description":"Página inicial (1-indexed)"},{"name":"num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Tamaño de página; 0 = todos","default":20,"title":"Num"},"description":"Tamaño de página; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountProducts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/issue":{"get":{"tags":["Incidencias"],"summary":"Listar incidencias (RF-020)","operationId":"list_issues_issue_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/IssueType"},{"type":"null"}],"title":"Type"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Página inicial (1-indexed)","default":1,"title":"Page"},"description":"Página inicial (1-indexed)"},{"name":"num","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Tamaño de página; 0 = todos","default":20,"title":"Num"},"description":"Tamaño de página; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIssueInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform":{"get":{"tags":["Contratos"],"summary":"Listar plataformas (RF-021)","operationId":"list_platforms_platform_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de resultados; 0 = todos","default":100,"title":"N"},"description":"Máximo de resultados; 0 = todos"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPlatforms"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_id}":{"get":{"tags":["Contratos"],"summary":"Plataforma por id (RF-022)","operationId":"get_platform_by_id_platform__platform_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_id","in":"path","required":true,"schema":{"type":"integer","title":"Platform Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_name}":{"get":{"tags":["Contratos"],"summary":"Plataforma por nombre (RF-023)","operationId":"get_platform_by_name_platform__platform_name__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_name","in":"path","required":true,"schema":{"type":"string","title":"Platform Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformInfo"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_id}/contract":{"get":{"tags":["Contratos"],"summary":"Contratos de una plataforma por id (RF-024)","operationId":"contracts_by_platform_id_platform__platform_id__contract_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_id","in":"path","required":true,"schema":{"type":"integer","title":"Platform Id"}},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de contratos; 0 = todos","default":10,"title":"N"},"description":"Máximo de contratos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Fecha mínima de publicación","title":"From"},"description":"Fecha mínima de publicación"},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Fecha máxima de publicación","title":"To"},"description":"Fecha máxima de publicación"},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ContractOrderBy","default":"published_date"}},{"name":"ascending","in":"query","required":false,"schema":{"type":"boolean","description":"false = descendente (por defecto)","default":false,"title":"Ascending"},"description":"false = descendente (por defecto)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListContracts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_name}/contract":{"get":{"tags":["Contratos"],"summary":"Contratos de una plataforma por nombre (RF-025)","operationId":"contracts_by_platform_name_platform__platform_name__contract_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_name","in":"path","required":true,"schema":{"type":"string","title":"Platform Name"}},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de contratos; 0 = todos","default":10,"title":"N"},"description":"Máximo de contratos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Fecha mínima de publicación","title":"From"},"description":"Fecha mínima de publicación"},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Fecha máxima de publicación","title":"To"},"description":"Fecha máxima de publicación"},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ContractOrderBy","default":"published_date"}},{"name":"ascending","in":"query","required":false,"schema":{"type":"boolean","description":"false = descendente (por defecto)","default":false,"title":"Ascending"},"description":"false = descendente (por defecto)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListContracts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contract/{contract_id}":{"get":{"tags":["Contratos"],"summary":"Detalle de contrato (RF-026)","operationId":"contract_detail_contract__contract_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"contract_id","in":"path","required":true,"schema":{"type":"integer","title":"Contract Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contract/history/{history_id}":{"get":{"tags":["Contratos"],"summary":"Entrada del historial de un contrato por id","description":"Una entrada del historial de un contrato a partir de su `id` (el que da `contract_history[].id` en `GET /contract/{contract_id}`), con las URL y los documentos de ese crawl. No figura en el Anexo I: lo pidió la CNMC en octubre de 2026, como lo publicaba el servicio anterior.","operationId":"contract_history_detail_contract_history__history_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"history_id","in":"path","required":true,"schema":{"type":"integer","title":"History Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractHistoryDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/downloadable/total":{"get":{"tags":["Documentos"],"summary":"Total pendientes en cola (RF-027)","operationId":"downloadable_total_downloadable_total_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Downloadable Total Downloadable Total Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_id}/downloadable/total":{"get":{"tags":["Documentos"],"summary":"Total pendientes por plataforma, por id (RF-028)","operationId":"downloadable_total_by_platform_id_platform__platform_id__downloadable_total_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_id","in":"path","required":true,"schema":{"type":"integer","title":"Platform Id"}},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Downloadable Total By Platform Id Platform  Platform Id  Downloadable Total Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_name}/downloadable/total":{"get":{"tags":["Documentos"],"summary":"Total pendientes por plataforma, por nombre (RF-029)","operationId":"downloadable_total_by_platform_name_platform__platform_name__downloadable_total_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_name","in":"path","required":true,"schema":{"type":"string","title":"Platform Name"}},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Downloadable Total By Platform Name Platform  Platform Name  Downloadable Total Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/downloadable":{"get":{"tags":["Documentos"],"summary":"Listar cola (RF-030)","operationId":"list_downloadable_downloadable_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de documentos; 0 = todos","default":50,"title":"N"},"description":"Máximo de documentos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDownloadableDocuments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_id}/downloadable":{"get":{"tags":["Documentos"],"summary":"Listar cola por plataforma, por id (RF-031)","operationId":"list_downloadable_by_platform_id_platform__platform_id__downloadable_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_id","in":"path","required":true,"schema":{"type":"integer","title":"Platform Id"}},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de documentos; 0 = todos","default":50,"title":"N"},"description":"Máximo de documentos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDownloadableDocuments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_name}/downloadable":{"get":{"tags":["Documentos"],"summary":"Listar cola por plataforma, por nombre (RF-032)","operationId":"list_downloadable_by_platform_name_platform__platform_name__downloadable_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_name","in":"path","required":true,"schema":{"type":"string","title":"Platform Name"}},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de documentos; 0 = todos","default":50,"title":"N"},"description":"Máximo de documentos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDownloadableDocuments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/downloadable/next":{"get":{"tags":["Documentos"],"summary":"Reclamar siguiente de la cola (RF-034)","description":"Devuelve el siguiente pendiente y lo marca 'descargando' de forma atómica.\n\nUsa `FOR UPDATE SKIP LOCKED` en Postgres para que dos workers no reclamen el mismo documento.\nEn otros motores (p. ej. SQLite en tests) cae a un bloqueo simple.","operationId":"downloadable_next_downloadable_next_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"minor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^([Nn]one|[Tt]rue|[Ff]alse)$"},{"type":"null"}],"description":"None = todos, True = solo menores, False = solo mayores","title":"Minor"},"description":"None = todos, True = solo menores, False = solo mayores"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadableDocumentResponse"}}}},"204":{"description":"Cola vacía"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/downloadable/{doc_id}":{"get":{"tags":["Documentos"],"summary":"Documento descargable por id (RF-033)","operationId":"get_downloadable_downloadable__doc_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","title":"Doc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadableDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document/{downloadable_id}":{"post":{"tags":["Documentos"],"summary":"Subir documento descargado (RF-035)","description":"Almacena el binario y marca el descargable como descargado.\n\nIdempotente por descargable: un reintento del worker (o una entrega duplicada) reescribe el\nmismo objeto y actualiza la misma fila, en vez de acumular `DownloadedDocument` repetidos que\nfalsearían los totales de RF-037.","operationId":"upload_document_document__downloadable_id__post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"downloadable_id","in":"path","required":true,"schema":{"type":"integer","title":"Downloadable Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_document__downloadable_id__post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document/{id}":{"get":{"tags":["Documentos"],"summary":"Descargar binario almacenado (RF-036)","operationId":"get_document_document__id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Contenido binario del fichero almacenado","content":{"application/octet-stream":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/download/total":{"get":{"tags":["Documentos"],"summary":"Total descargados (RF-037)","operationId":"download_total_download_total_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Download Total Download Total Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_id}/download/total":{"get":{"tags":["Documentos"],"summary":"Total descargados por plataforma, por id (RF-038)","operationId":"download_total_by_platform_id_platform__platform_id__download_total_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_id","in":"path","required":true,"schema":{"type":"integer","title":"Platform Id"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Download Total By Platform Id Platform  Platform Id  Download Total Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_name}/download/total":{"get":{"tags":["Documentos"],"summary":"Total descargados por plataforma, por nombre (RF-039)","operationId":"download_total_by_platform_name_platform__platform_name__download_total_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_name","in":"path","required":true,"schema":{"type":"string","title":"Platform Name"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Download Total By Platform Name Platform  Platform Name  Download Total Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/download":{"get":{"tags":["Documentos"],"summary":"Listar descargados (RF-040)","operationId":"list_downloaded_download_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de documentos; 0 = todos","default":50,"title":"N"},"description":"Máximo de documentos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDownloadedDocuments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_id}/download":{"get":{"tags":["Documentos"],"summary":"Listar descargados por plataforma, por id (RF-041)","operationId":"list_downloaded_by_platform_id_platform__platform_id__download_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_id","in":"path","required":true,"schema":{"type":"integer","title":"Platform Id"}},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de documentos; 0 = todos","default":50,"title":"N"},"description":"Máximo de documentos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDownloadedDocuments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/platform/{platform_name}/download":{"get":{"tags":["Documentos"],"summary":"Listar descargados por plataforma, por nombre (RF-042)","operationId":"list_downloaded_by_platform_name_platform__platform_name__download_get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"platform_name","in":"path","required":true,"schema":{"type":"string","title":"Platform Name"}},{"name":"n","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Máximo de documentos; 0 = todos","default":50,"title":"N"},"description":"Máximo de documentos; 0 = todos"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Desplazamiento inicial","default":0,"title":"Offset"},"description":"Desplazamiento inicial"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtro opcional por tipo de documento","title":"Type"},"description":"Filtro opcional por tipo de documento"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDownloadedDocuments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_upload_document_document__downloadable_id__post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_document_document__downloadable_id__post"},"ContractAward":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id","description":"Id interno de la adjudicación."},"nif":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nif"},"contractor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contractor"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount","description":"Importe de adjudicación sin IVA."},"vat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vat","description":"Cuota de IVA: el importe con IVA menos el importe sin IVA, los dos como los da la fuente. Nula si la fuente no da los dos."},"award_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Award Date"},"decision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision","description":"Resultado de la adjudicación según la fuente: Adjudicado, Formalizado, Desierto..."},"contract_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Duration","description":"Duración del contrato adjudicado, si la fuente la da."},"lot":{"anyOf":[{"$ref":"#/components/schemas/Lot"},{"type":"null"}],"description":"Lote adjudicado, si la fuente lo indica. Es uno de los `lots` del contrato; si no está entre ellos, sólo lleva su número."},"total_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Amount","description":"Importe de adjudicación con IVA, el que da la fuente. Nulo si no lo da."}},"type":"object","title":"ContractAward","description":"Una adjudicación. Lo que la fuente no publica va nulo; nada se calcula con un tipo de IVA\nsupuesto."},"ContractDetail":{"properties":{"id":{"type":"integer","title":"Id"},"cod":{"type":"string","title":"Cod"},"REF":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"published_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Published Date"},"last_updated_date":{"type":"string","format":"date-time","title":"Last Updated Date"},"subject_matter":{"type":"string","title":"Subject Matter"},"currency":{"type":"string","title":"Currency"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"vat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vat"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"procedure_type":{"type":"string","title":"Procedure Type"},"processing_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Type"},"contract_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Type"},"authority":{"type":"string","title":"Authority"},"minor":{"type":"boolean","title":"Minor"},"total_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Amount"},"urls":{"items":{"$ref":"#/components/schemas/ContractURL"},"type":"array","title":"Urls","default":[]},"contract_history":{"items":{"$ref":"#/components/schemas/ContractHistoryEntry"},"type":"array","title":"Contract History","default":[]},"awards":{"items":{"$ref":"#/components/schemas/ContractAward"},"type":"array","title":"Awards","default":[]},"lots":{"items":{"$ref":"#/components/schemas/Lot"},"type":"array","title":"Lots","default":[]}},"type":"object","required":["id","cod","last_updated_date","subject_matter","currency","procedure_type","authority","minor"],"title":"ContractDetail"},"ContractDocument":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id","description":"Id interno del documento descargado, el que se pide con GET /document/{id}. Nulo mientras no se haya descargado."},"cod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cod"},"ubication":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ubication"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Section"},"title":{"type":"string","title":"Title"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"url":{"type":"string","title":"Url"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"}},"type":"object","required":["title","url"],"title":"ContractDocument"},"ContractHistoryDetail":{"properties":{"id":{"type":"integer","title":"Id","description":"Id interno de la entrada del historial (GET /contract/history/{history_id})."},"contract_id":{"type":"integer","title":"Contract Id","description":"Id del contrato al que pertenece la entrada."},"retrieval_date":{"type":"string","format":"date-time","title":"Retrieval Date"},"published_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Published Date"},"change":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"urls":{"items":{"$ref":"#/components/schemas/ContractURL"},"type":"array","title":"Urls","default":[]},"documents":{"items":{"$ref":"#/components/schemas/ContractDocument"},"type":"array","title":"Documents","default":[]}},"type":"object","required":["id","contract_id","retrieval_date"],"title":"ContractHistoryDetail","description":"Una entrada del historial pedida por su id: estado, URL y documentos de ese crawl."},"ContractHistoryEntry":{"properties":{"id":{"type":"integer","title":"Id","description":"Id interno de la entrada del historial (GET /contract/history/{history_id})."},"contract_id":{"type":"integer","title":"Contract Id","description":"Id del contrato al que pertenece la entrada."},"retrieval_date":{"type":"string","format":"date-time","title":"Retrieval Date"},"published_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Published Date"},"change":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"urls":{"items":{"$ref":"#/components/schemas/ContractURL"},"type":"array","title":"Urls","default":[]},"documents":{"items":{"$ref":"#/components/schemas/ContractDocument"},"type":"array","title":"Documents","default":[]}},"type":"object","required":["id","contract_id","retrieval_date"],"title":"ContractHistoryEntry"},"ContractInfo":{"properties":{"id":{"type":"integer","title":"Id"},"cod":{"type":"string","title":"Cod"},"REF":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"published_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Published Date"},"last_updated_date":{"type":"string","format":"date-time","title":"Last Updated Date"},"subject_matter":{"type":"string","title":"Subject Matter"},"currency":{"type":"string","title":"Currency"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"vat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vat"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"procedure_type":{"type":"string","title":"Procedure Type"},"processing_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Type"},"contract_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Type"},"authority":{"type":"string","title":"Authority"},"minor":{"type":"boolean","title":"Minor"},"total_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Amount"}},"type":"object","required":["id","cod","last_updated_date","subject_matter","currency","procedure_type","authority","minor"],"title":"ContractInfo"},"ContractOrderBy":{"type":"string","enum":["published_date","id","cod"],"title":"ContractOrderBy"},"ContractURL":{"properties":{"url":{"type":"string","title":"Url"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"}},"type":"object","required":["url"],"title":"ContractURL","description":"RF-026: misma forma que `URLInfo`, nombre propio en el §5."},"CountGazettes":{"properties":{"count":{"type":"integer","title":"Count"},"gazettes":{"items":{"$ref":"#/components/schemas/ListGazetteInfo"},"type":"array","title":"Gazettes"}},"type":"object","required":["count","gazettes"],"title":"CountGazettes"},"CountMinimumHistory":{"properties":{"count":{"type":"integer","title":"Count"},"products":{"items":{"$ref":"#/components/schemas/MinimumHistoryInfo"},"type":"array","title":"Products"}},"type":"object","required":["count","products"],"title":"CountMinimumHistory"},"CountMinimumProducts":{"properties":{"count":{"type":"integer","title":"Count"},"products":{"items":{"type":"string"},"type":"array","title":"Products"}},"type":"object","required":["count","products"],"title":"CountMinimumProducts"},"CountProducts":{"properties":{"count":{"type":"integer","title":"Count"},"products":{"items":{"$ref":"#/components/schemas/History"},"type":"array","title":"Products"}},"type":"object","required":["count","products"],"title":"CountProducts","description":"RF-017: histórico completo de una clave (mismo esquema de item que RF-016)."},"CountStores":{"properties":{"count":{"type":"integer","title":"Count"},"stores":{"items":{"$ref":"#/components/schemas/MinimumStoreWithProductKeys"},"type":"array","title":"Stores"}},"type":"object","required":["count","stores"],"title":"CountStores"},"DateRange":{"properties":{"min":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Max"}},"type":"object","title":"DateRange"},"Dates":{"properties":{"published":{"$ref":"#/components/schemas/DateRange"},"retrieved":{"$ref":"#/components/schemas/DateRange"}},"type":"object","required":["published","retrieved"],"title":"Dates"},"DownloadableDocumentResponse":{"properties":{"id":{"type":"integer","title":"Id"},"cod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cod"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"estado":{"type":"string","title":"Estado"},"timestamp":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Timestamp"},"download_info":{"additionalProperties":true,"type":"object","title":"Download Info","default":{}},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"contract_history_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contract History Id"}},"type":"object","required":["id","estado"],"title":"DownloadableDocumentResponse"},"DownloadedDocumentResponse":{"properties":{"id":{"type":"integer","title":"Id"},"cod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cod"},"storage_type":{"type":"string","title":"Storage Type"},"path":{"type":"string","title":"Path"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"contract_history_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contract History Id"}},"type":"object","required":["id","storage_type","path"],"title":"DownloadedDocumentResponse"},"GazetteInfo":{"properties":{"id":{"type":"integer","title":"Id"},"publishedDate":{"type":"string","format":"date","title":"Publisheddate"},"retrievalDate":{"type":"string","format":"date-time","title":"Retrievaldate"},"name":{"type":"string","title":"Name"},"paragraphs":{"items":{"$ref":"#/components/schemas/GazetteParagraph"},"type":"array","title":"Paragraphs","default":[]},"urls":{"items":{"$ref":"#/components/schemas/URLInfo"},"type":"array","title":"Urls","default":[]}},"type":"object","required":["id","publishedDate","retrievalDate","name"],"title":"GazetteInfo"},"GazetteParagraph":{"properties":{"id":{"type":"integer","title":"Id"},"section":{"type":"string","title":"Section"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"theme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"},"title":{"type":"string","title":"Title"},"urls":{"items":{"$ref":"#/components/schemas/URLInfo"},"type":"array","title":"Urls","default":[]}},"type":"object","required":["id","section","title"],"title":"GazetteParagraph"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"History":{"properties":{"id":{"type":"integer","title":"Id"},"key":{"type":"string","title":"Key"},"store":{"$ref":"#/components/schemas/MinimumStoreInfo"},"retrievalDate":{"type":"string","format":"date-time","title":"Retrievaldate"},"name":{"type":"string","title":"Name"},"mark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mark"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"section":{"type":"string","title":"Section"},"format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Format"},"packaging":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Packaging"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"},"stock":{"type":"string","title":"Stock"},"other":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other"},"comments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comments"},"currency":{"type":"string","title":"Currency","default":"euro"},"price":{"type":"number","title":"Price","default":0.0},"discount":{"type":"number","title":"Discount","description":"Descuento sobre el precio original, en fracción (0.07 = 7 %)","default":0.0},"discount_amount":{"type":"number","title":"Discount Amount","default":0.0},"original_price":{"type":"number","title":"Original Price","default":0.0},"promotion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promotion"},"promotion_detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promotion Detail"},"url":{"type":"string","title":"Url"},"variants":{"items":{"$ref":"#/components/schemas/History"},"type":"array","title":"Variants","default":[]}},"type":"object","required":["id","key","store","retrievalDate","name","section","stock","url"],"title":"History"},"IssueInfo":{"properties":{"id":{"type":"integer","title":"Id"},"ref_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ref Id"},"type":{"type":"string","title":"Type"},"level":{"type":"string","title":"Level"},"message":{"type":"string","title":"Message"},"date":{"type":"string","format":"date-time","title":"Date"},"alert_timestamp":{"type":"string","format":"date-time","title":"Alert Timestamp"},"scraper_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scraper Name"},"scraper_args":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scraper Args"}},"type":"object","required":["id","type","level","message","date","alert_timestamp"],"title":"IssueInfo"},"IssueType":{"type":"string","enum":["Gazette","Product"],"title":"IssueType"},"ListContracts":{"properties":{"total":{"type":"integer","title":"Total"},"contracts":{"items":{"$ref":"#/components/schemas/ContractInfo"},"type":"array","title":"Contracts"}},"type":"object","required":["total","contracts"],"title":"ListContracts"},"ListDownloadableDocuments":{"properties":{"total":{"type":"integer","title":"Total"},"documents":{"items":{"$ref":"#/components/schemas/DownloadableDocumentResponse"},"type":"array","title":"Documents"}},"type":"object","required":["total","documents"],"title":"ListDownloadableDocuments"},"ListDownloadedDocuments":{"properties":{"total":{"type":"integer","title":"Total"},"documents":{"items":{"$ref":"#/components/schemas/DownloadedDocumentResponse"},"type":"array","title":"Documents"}},"type":"object","required":["total","documents"],"title":"ListDownloadedDocuments"},"ListGazetteDates":{"properties":{"published":{"$ref":"#/components/schemas/DateRange"},"retrieved":{"$ref":"#/components/schemas/DateRange"}},"type":"object","required":["published","retrieved"],"title":"ListGazetteDates"},"ListGazetteInfo":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"dates":{"$ref":"#/components/schemas/ListGazetteDates"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["id","name","dates","count"],"title":"ListGazetteInfo"},"ListIssueInfo":{"properties":{"count":{"type":"integer","title":"Count"},"issues":{"items":{"$ref":"#/components/schemas/IssueInfo"},"type":"array","title":"Issues"}},"type":"object","required":["count","issues"],"title":"ListIssueInfo"},"ListPlatforms":{"properties":{"total":{"type":"integer","title":"Total"},"platforms":{"items":{"$ref":"#/components/schemas/PlatformInfo"},"type":"array","title":"Platforms"}},"type":"object","required":["total","platforms"],"title":"ListPlatforms"},"Lot":{"properties":{"num":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Num"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"estimated_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Value"}},"type":"object","title":"Lot"},"MinimumHistoryInfo":{"properties":{"id":{"type":"integer","title":"Id"},"key":{"type":"string","title":"Key"},"retrievalDate":{"type":"string","format":"date-time","title":"Retrievaldate"},"store":{"$ref":"#/components/schemas/MinimumStoreInfo"}},"type":"object","required":["id","key","retrievalDate","store"],"title":"MinimumHistoryInfo"},"MinimumStoreInfo":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"MinimumStoreInfo"},"MinimumStoreWithProductKeys":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"products":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Products"}},"type":"object","required":["id","name"],"title":"MinimumStoreWithProductKeys"},"PlatformInfo":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["id","name","url","active"],"title":"PlatformInfo"},"Store":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"url":{"type":"string","title":"Url"},"firstDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Firstdate"},"lastDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastdate"},"products":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Products"}},"type":"object","required":["id","name","url"],"title":"Store"},"URLInfo":{"properties":{"url":{"type":"string","title":"Url"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"}},"type":"object","required":["url"],"title":"URLInfo"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}