{"openapi":"3.1.0","info":{"title":"solar-system-db REST API","description":"A queryable catalogue of known solar-system objects — planets, moons, dwarf planets, asteroids, comets, TNOs, centaurs, and rings. Sourced from NASA/JPL and the IAU Minor Planet Center. Separate exoplanet and host catalogues use the NASA Exoplanet Archive. **For astronomy, science education, sci-fi worldbuilding, and model-building — not astrology.**","contact":{"name":"solar-system-db","url":"https://github.com/Wicked-Sick-Ltd/solar-system-db"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"version":"0.1.0"},"paths":{"/api/v1/objects":{"get":{"tags":["catalog"],"summary":"Filter solar-system objects","description":"Filter the catalogue. For walks over all 1.4 M bodies use `after`\n(keyset pagination) rather than `offset`; `next_after` is null on the last page.","operationId":"get_objects_api_v1_objects_get","parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"object_type filter (planet/moon/asteroid/comet/...)","title":"Type"},"description":"object_type filter (planet/moon/asteroid/comet/...)"},{"name":"parent","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"parent body name/id (e.g. 'Jupiter')","title":"Parent"},"description":"parent body name/id (e.g. 'Jupiter')"},{"name":"min_radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Radius Km"}},{"name":"max_radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Radius Km"}},{"name":"max_eccentricity","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Eccentricity"}},{"name":"min_semi_major_axis_au","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Semi Major Axis Au"}},{"name":"max_semi_major_axis_au","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Semi Major Axis Au"}},{"name":"neo","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Neo"}},{"name":"pha","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pha"}},{"name":"named_only","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Named Only"}},{"name":"orbit_class","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"SBDB orbit class code, e.g. MBA, APO, TNO, JFc","title":"Orbit Class"},"description":"SBDB orbit class code, e.g. MBA, APO, TNO, JFc"},{"name":"max_moid_au","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"description":"Earth MOID at most this many AU","title":"Max Moid Au"},"description":"Earth MOID at most this many AU"},{"name":"min_diameter_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Min Diameter Km"}},{"name":"max_condition_code","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":9,"minimum":0},{"type":"null"}],"description":"orbit uncertainty code 0 (best) … 9","title":"Max Condition Code"},"description":"orbit uncertainty code 0 (best) … 9"},{"name":"discovered_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO date","title":"Discovered After"},"description":"ISO date"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"keyset pagination: last id of the previous page","title":"After"},"description":"keyset pagination: last id of the previous page"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"ignored when `after` is given","default":0,"title":"Offset"},"description":"ignored when `after` is given"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/objects/{name_or_designation}/close-approaches":{"get":{"tags":["detail"],"summary":"Close approaches of one body to the planets / Moon","operationId":"object_close_approaches_api_v1_objects__name_or_designation__close_approaches_get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To"}},{"name":"body","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/objects/{name_or_designation}/discovery":{"get":{"tags":["detail"],"summary":"Discovery circumstances","operationId":"object_discovery_api_v1_objects__name_or_designation__discovery_get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/objects/{name_or_designation}/designations":{"get":{"tags":["detail"],"summary":"Every number, name, provisional and alternate designation","operationId":"object_designations_api_v1_objects__name_or_designation__designations_get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/planets/{name}/atmosphere":{"get":{"tags":["detail"],"summary":"Atmosphere (NASA fact sheet)","operationId":"planet_atmosphere_api_v1_planets__name__atmosphere_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/close-approaches":{"get":{"tags":["detail"],"summary":"All close approaches to a body in a date window, nearest first","operationId":"close_approaches_api_v1_close_approaches_get","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","description":"ISO date","title":"From"},"description":"ISO date"},{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"ISO date","title":"To"},"description":"ISO date"},{"name":"body","in":"query","required":false,"schema":{"type":"string","default":"Earth","title":"Body"}},{"name":"max_dist_au","in":"query","required":false,"schema":{"type":"number","maximum":1.0,"exclusiveMinimum":0,"default":0.05,"title":"Max Dist Au"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/starter-targets":{"get":{"tags":["observing catalogues"],"summary":"List Starter Targets","operationId":"list_starter_targets_api_v1_starter_targets_get","parameters":[{"name":"family","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/starter-targets/{target_id}":{"get":{"tags":["observing catalogues"],"summary":"Get Starter Target","operationId":"get_starter_target_api_v1_starter_targets__target_id__get","parameters":[{"name":"target_id","in":"path","required":true,"schema":{"type":"string","title":"Target Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/exoplanets":{"get":{"tags":["exoplanets"],"summary":"List Exoplanets","operationId":"list_exoplanets_api_v1_exoplanets_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"discovery_method","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Discovery Method"}},{"name":"max_distance_pc","in":"query","required":false,"schema":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"title":"Max Distance Pc"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":100000,"minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/exoplanets/{name}":{"get":{"tags":["exoplanets"],"summary":"Get Exoplanet","operationId":"get_exoplanet_api_v1_exoplanets__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/exoplanet-hosts/{name}":{"get":{"tags":["exoplanets"],"summary":"Get Exoplanet Host","operationId":"get_exoplanet_host_api_v1_exoplanet_hosts__name__get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/galaxy":{"get":{"tags":["exoplanets"],"summary":"Measured exoplanet host positions in parsecs","operationId":"galaxy_map_api_v1_galaxy_get","parameters":[{"name":"max_distance_pc","in":"query","required":false,"schema":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"title":"Max Distance Pc"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"default":10000,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meteor-showers":{"get":{"tags":["catalog"],"summary":"IAU meteor showers","operationId":"list_meteor_showers_api_v1_meteor_showers_get","parameters":[{"name":"established_only","in":"query","required":false,"schema":{"type":"boolean","description":"Keep only MDC status codes 1 (single established shower, group) or 6 (member of the established group)","default":false,"title":"Established Only"},"description":"Keep only MDC status codes 1 (single established shower, group) or 6 (member of the established group)"},{"name":"active_on","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO date (YYYY-MM-DD); filters to showers active on this date","title":"Active On"},"description":"ISO date (YYYY-MM-DD); filters to showers active on this date"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/meteor-showers/{code}":{"get":{"tags":["detail"],"summary":"One IAU meteor shower by code or name","operationId":"get_meteor_shower_api_v1_meteor_showers__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/download":{"get":{"tags":["reference"],"summary":"Where to get the whole database as one file","operationId":"download_manifest_api_v1_download_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/objects/{name_or_designation}":{"get":{"tags":["catalog"],"summary":"Get full record for one object","operationId":"get_object_api_v1_objects__name_or_designation__get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/planets/{name}/moons":{"get":{"tags":["catalog"],"summary":"List moons of a planet or dwarf planet","operationId":"list_moons_api_v1_planets__name__moons_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/planets/{name}/rings":{"get":{"tags":["catalog"],"summary":"List rings of a planet or dwarf planet","operationId":"list_rings_api_v1_planets__name__rings_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dwarf-planets":{"get":{"tags":["catalog"],"summary":"IAU dwarf planets (+ candidates if requested)","operationId":"list_dwarf_planets_api_v1_dwarf_planets_get","parameters":[{"name":"include_candidates","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Candidates"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/neos":{"get":{"tags":["catalog"],"summary":"Near-Earth Objects","operationId":"list_neos_api_v1_neos_get","parameters":[{"name":"min_diameter_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Diameter Km"}},{"name":"max_diameter_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Diameter Km"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/comets/periodic":{"get":{"tags":["catalog"],"summary":"Numbered periodic comets","operationId":"list_periodic_comets_api_v1_comets_periodic_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tnos":{"get":{"tags":["catalog"],"summary":"Trans-Neptunian objects + centaurs","operationId":"list_tnos_api_v1_tnos_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search":{"get":{"tags":["catalog"],"summary":"Fuzzy text search across names/designations/discoverers","operationId":"search_api_v1_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"description":"Search query","title":"Q"},"description":"Search query"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/observing/night":{"get":{"tags":["positions"],"summary":"One local night of labelled geometric Moon and planet planning","description":"Configured offline ephemerides; no weather or guaranteed visibility.\n\nLocal noon to the next noon, including timezone transitions. Returns explicit\nmodel and Earth-orientation coverage; unavailable coverage is HTTP 503.","operationId":"observing_night_api_v1_observing_night_get","parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string","title":"Date"}},{"name":"timezone","in":"query","required":true,"schema":{"type":"string","title":"Timezone"}},{"name":"lat","in":"query","required":true,"schema":{"type":"string","title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"string","title":"Lon"}},{"name":"targets","in":"query","required":false,"schema":{"type":"string","default":"moon,jupiter,saturn","title":"Targets"}},{"name":"min_altitude_deg","in":"query","required":false,"schema":{"type":"string","default":"20","title":"Min Altitude Deg"}},{"name":"sun_altitude_deg","in":"query","required":false,"schema":{"type":"string","default":"-12","title":"Sun Altitude Deg"}},{"name":"min_moon_separation_deg","in":"query","required":false,"schema":{"type":"string","default":"0","title":"Min Moon Separation Deg"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["positions"],"summary":"Plan with a bounded UTC observing window and user-entered horizon","operationId":"observing_night_post_api_v1_observing_night_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/observing/discover":{"post":{"tags":["positions"],"summary":"Opt-in bounded geometric shortlist with explained equipment preferences","operationId":"observing_discover_post_api_v1_observing_discover_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/positions/{name_or_designation}":{"get":{"tags":["positions"],"summary":"Heliocentric position by two-body Kepler propagation","operationId":"compute_position_api_v1_positions__name_or_designation__get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}},{"name":"date","in":"query","required":true,"schema":{"type":"string","description":"ISO date or datetime","title":"Date"},"description":"ISO date or datetime"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sky/{name_or_designation}":{"get":{"tags":["positions"],"summary":"Where an object appears in Earth's sky (RA/Dec, constellation, optional observer view)","description":"Geocentric RA/Dec (J2000), constellation, hemisphere, distance from\nEarth and elongation from the Sun. Supply `lat` and `lon` together to add\naltitude/azimuth, whether it is up after dark, and rise/transit/set for\nthat UT day. Other moons report an explicit parent-body proxy; Earth's Moon\nis unavailable here. Two-body accuracy (~1°).","operationId":"sky_position_api_v1_sky__name_or_designation__get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO date or datetime (UTC); default now","title":"Date"},"description":"ISO date or datetime (UTC); default now"},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":90,"minimum":-90},{"type":"null"}],"description":"Observer latitude, degrees north","title":"Lat"},"description":"Observer latitude, degrees north"},{"name":"lon","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"description":"Observer longitude, degrees east","title":"Lon"},"description":"Observer longitude, degrees east"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/perihelion/{name_or_designation}":{"get":{"tags":["positions"],"summary":"Next perihelion JD","operationId":"next_perihelion_api_v1_perihelion__name_or_designation__get","parameters":[{"name":"name_or_designation","in":"path","required":true,"schema":{"type":"string","title":"Name Or Designation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalogue":{"get":{"tags":["reference"],"summary":"Finalized catalogue identity and recorded source provenance","operationId":"catalogue_identity_api_v1_catalogue_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/object-types":{"get":{"tags":["reference"],"summary":"Object types present in the catalogue and their counts","operationId":"list_object_types_api_v1_object_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sources":{"get":{"tags":["reference"],"summary":"Upstream data sources + last-retrieved timestamps","operationId":"get_sources_api_v1_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/schema":{"get":{"tags":["reference"],"summary":"SQLite schema DDL (read-only)","operationId":"get_schema_api_v1_schema_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/api/v1/stats":{"get":{"tags":["reference"],"summary":"Catalogue stats + last refresh timestamp","operationId":"get_stats_api_v1_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"}}}}