{"openapi":"3.1.0","info":{"title":"HIFLD Next public webapp API","version":"1.0.0","description":"TanStack webapp JSON routes backed by the published Portolan catalog. Start with GET /api or GET /llms.txt, then GET /api/openapi for the full custom API contract. Standard STAC API Core and Collections are served separately at /stac with their own /stac/api description. GET /api/collections and GET /api/collections/{slug} return authored STAC Catalog documents; this is not an OGC API-Features or STAC API /items surface. Search and pagination: only on GET /api/collections/{slug}/datasets using search, query, tag_filters, limit, offset, omit (not ?q= on other paths). Collection dataset listing defaults to limit=50 when omitted (breaking vs older unbounded responses). GET /api/datasets returns a custom paginated wrapper of raw dataset STAC Catalogs; it is not a STAC Item Search FeatureCollection. GET /api/datasets/{id} accepts a URL-encoded collection/dataset identity and returns the raw dataset STAC Catalog; numeric legacy IDs are invalid. Unknown GET paths under /api respond with 404 and application/problem+json including links to /api, /api/openapi, and /llms.txt."},"components":{"schemas":{"ColumnSchema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"description":{"type":["string","null"]},"nullable":{"type":"boolean"},"num_null_values":{"type":["number","null"]},"num_unique_values":{"type":["number","null"]},"example_values":{"type":["array","null"],"items":{"type":"string"}},"min":{"type":["number","null"]},"max":{"type":["number","null"]},"length":{"type":["number","null"]},"possible_values":{"type":["array","null"],"items":{"type":"string"}}},"required":["name","type","nullable"],"additionalProperties":{}},"SpatialDatasetFileMetadata":{"type":"object","properties":{"version":{"type":"string"},"description":{"type":["string","null"]},"size_bytes":{"type":["number","null"]},"mime_type":{"type":["string","null"]},"feature_count":{"type":["number","null"]},"bounds":{"type":["array","null"],"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}]},"geometry_type":{"type":["string","null"]},"invalid_geometry_count":{"type":["number","null"]},"quality_check_passed":{"type":["boolean","null"]},"columns_hash":{"type":["string","null"]},"columns":{"type":"array","items":{"$ref":"#/components/schemas/ColumnSchema"}}},"required":["version"],"additionalProperties":{}},"DatasetSource":{"type":"object","properties":{"id":{"type":"number"},"file_format_id":{"type":"number"},"storage_location_id":{"type":["number","null"]},"version":{"anyOf":[{"type":"string"},{"type":"number"}]},"source_type":{"$ref":"#/components/schemas/SourceType"},"location":{"$ref":"#/components/schemas/SourceLocation"},"source_metadata":{"allOf":[{"$ref":"#/components/schemas/SpatialDatasetFileMetadata"},{"type":["object","null"]}]},"url":{"type":["string","null"]},"storage_uri":{"type":["string","null"]},"glob_pattern":{"type":["string","null"]},"storage_location":{"$ref":"#/components/schemas/StorageLocation"},"links":{"$ref":"#/components/schemas/ApiLinkMap"},"references_source_id":{"type":["number","null"]},"created_at":{"type":"string","description":"ISO-like timestamp string from the catalog"},"updated_at":{"type":"string","description":"ISO-like timestamp string from the catalog"}},"required":["id","source_type","location"],"additionalProperties":{}},"SourceType":{"type":"string","enum":["file","api"]},"SourceLocation":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"version":{"type":"string"},"path":{"type":"string"}},"required":["version","path"],"additionalProperties":{}},{"type":"object","properties":{"type":{"type":"string","enum":["api"]},"version":{"type":"string"},"url":{"type":"string"},"method":{"type":"string"}},"required":["version","url"],"additionalProperties":{}}]},"StorageLocation":{"type":["object","null"],"properties":{"id":{"type":"number"},"slug":{"type":"string"},"name":{"type":"string"},"backend_type":{"type":"string"},"description":{"type":"string"},"config":{"$ref":"#/components/schemas/StorageLocationConfig"},"created_at":{"type":"string","description":"ISO-like timestamp string from the catalog"},"updated_at":{"type":"string","description":"ISO-like timestamp string from the catalog"}},"required":["id","name","backend_type"],"additionalProperties":{}},"StorageLocationConfig":{"type":["object","null"],"properties":{"type":{"type":"string"},"version":{"type":"string"},"base_url":{"type":"string"},"bucket":{"type":"string"},"endpoint_url":{"type":"string"}},"required":["version","base_url"],"additionalProperties":{}},"ApiLinkMap":{"type":"object","additionalProperties":{"type":"string"}},"DatasetFile":{"type":"object","properties":{"id":{"type":"number"},"dataset_id":{"type":"number"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":["string","null"]},"layer_name":{"type":["string","null"]},"source_file_path":{"type":["string","null"]},"file_metadata":{"allOf":[{"$ref":"#/components/schemas/SpatialDatasetFileMetadata"},{"type":["object","null"]}]},"formats":{"type":"array","items":{"$ref":"#/components/schemas/DatasetFormat"}},"links":{"$ref":"#/components/schemas/ApiLinkMap"},"created_at":{"type":"string","description":"ISO-like timestamp string from the catalog"},"updated_at":{"type":"string","description":"ISO-like timestamp string from the catalog"}},"required":["id","dataset_id","name","slug"],"additionalProperties":{}},"DatasetFormat":{"type":"object","properties":{"format":{"$ref":"#/components/schemas/Format"},"file_format":{"$ref":"#/components/schemas/FileFormat"},"dataset_format":{"$ref":"#/components/schemas/FileFormat"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/DatasetSource"}}},"required":["format","sources"],"additionalProperties":{}},"Format":{"type":"object","properties":{"id":{"type":"number"},"format_type":{"$ref":"#/components/schemas/FormatType"},"name":{"type":"string"},"description":{"type":"string"},"mime_type":{"type":["string","null"]},"created_at":{"type":"string","description":"ISO-like timestamp string from the catalog"},"updated_at":{"type":"string","description":"ISO-like timestamp string from the catalog"}},"required":["id","format_type","name"],"additionalProperties":{}},"FormatType":{"type":"string","enum":["geoparquet","pmtiles","geopackage","shapefile","geojson","file_geodatabase"]},"FileFormat":{"type":"object","properties":{"id":{"type":"number"},"file_id":{"type":"number"},"dataset_id":{"type":"number"},"format_id":{"type":"number"},"created_at":{"type":"string","description":"ISO-like timestamp string from the catalog"},"updated_at":{"type":"string","description":"ISO-like timestamp string from the catalog"}},"required":["id","format_id"],"additionalProperties":{}},"QueryRequest":{"type":"object","properties":{"sources":{"type":"array","items":{"type":"object","properties":{"alias":{"type":"string","pattern":"^[A-Za-z_][A-Za-z0-9_]{0,62}$"},"collection_id":{"type":"integer","exclusiveMinimum":0},"dataset_id":{"type":"integer","exclusiveMinimum":0},"file_id":{"type":"integer","exclusiveMinimum":0},"file_source_id":{"type":"integer","exclusiveMinimum":0}},"required":["alias","collection_id","dataset_id","file_id","file_source_id"],"additionalProperties":false},"minItems":1,"maxItems":8},"sql":{"type":"string","minLength":1,"maxLength":8192},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":1000,"default":100},"geometry_column":{"type":"string","minLength":1},"result_crs":{"type":"string","minLength":1}},"required":["sources","sql"],"additionalProperties":false},"QueryPageRequest":{"type":"object","properties":{"offset":{"type":"integer","minimum":0},"page_size":{"type":"integer","exclusiveMinimum":0,"maximum":1000,"default":100}},"required":["offset"],"additionalProperties":false},"QueryResult":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"nullable":{"type":"boolean"}},"required":["name","type","nullable"],"additionalProperties":false}},"rows":{"type":"array","items":{"type":"object","additionalProperties":{"anyOf":[{"type":"null"},{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"object","properties":{},"additionalProperties":{}},{"type":"array","items":{"type":"object","properties":{},"additionalProperties":{}}}]}}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","exclusiveMinimum":0,"maximum":1000},"returned_count":{"type":"integer","minimum":0},"result_status":{"type":"string","enum":["rows_returned","empty_result","empty_page","indeterminate"]},"has_more":{"type":"boolean"},"next_offset":{"type":"integer","minimum":0},"warnings":{"type":"array","items":{"type":"string"}},"elapsed_ms":{"type":"number","minimum":0},"bytes_read":{"type":"integer","minimum":0},"files_read":{"type":"integer","minimum":0},"response_truncated":{"type":"boolean"},"deterministic_order":{"type":"boolean"},"query_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{20,64}$"},"query_token":{"type":"string","minLength":1},"map_configuration":{"type":"object","properties":{},"additionalProperties":{}}},"required":["columns","rows","offset","limit","returned_count","has_more","warnings","elapsed_ms","bytes_read","files_read","response_truncated","deterministic_order","query_id","query_token"],"additionalProperties":false},"QueryError":{"type":"object","properties":{"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1}},"required":["code","message"],"additionalProperties":false},"QueryBounds":{"type":"object","properties":{"bounds":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}]}},"required":["bounds"],"additionalProperties":false},"STACCatalog":{"type":"object","properties":{"type":{"type":"string","enum":["Catalog"]},"stac_version":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/STACLink"}}},"required":["type","stac_version","id","description","links"],"additionalProperties":{}},"STACLink":{"type":"object","properties":{"rel":{"type":"string"},"href":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"}},"required":["rel","href"],"additionalProperties":{}},"Problem":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"number"},"detail":{"type":"string"},"instance":{"type":"string"},"links":{"$ref":"#/components/schemas/ApiLinkMap"}},"required":["type","title","status"]},"STACCollection":{"type":"object","properties":{"type":{"type":"string","enum":["Collection"]},"stac_version":{"type":"string"},"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"license":{"type":"string"},"extent":{"type":"object","additionalProperties":{}},"links":{"type":"array","items":{"$ref":"#/components/schemas/STACLink"}},"assets":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/STACAsset"}},"table:columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"description":{"type":["string","null"]}},"required":["name","type"],"additionalProperties":{}}}},"required":["type","stac_version","id","description","license","extent","links","assets"],"additionalProperties":{}},"STACAsset":{"type":"object","properties":{"href":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"hifld:format_key":{"type":"string"},"hifld:sha256":{"type":"string"},"hifld:storage_location_slug":{"type":"string"}},"required":["href"],"additionalProperties":{}}},"parameters":{}},"paths":{"/api":{"get":{"summary":"API bootstrap and discovery","description":"Entry point with links to OpenAPI, /llms.txt, and collections. Call this first; do not assume OGC API-Features or STAC paths (/items, /features, ?q= on random segments).","responses":{"200":{"description":"Bootstrap JSON (title, description, links, hints)","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"links":{"$ref":"#/components/schemas/ApiLinkMap"},"hints":{"type":"object","additionalProperties":{"type":"string"}}},"required":["title","description","links"],"additionalProperties":{}}}}}}}},"/api/openapi":{"get":{"summary":"OpenAPI 3.1 document for this webapp surface","responses":{"200":{"description":"OpenAPI JSON","content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}}}}},"/api/health":{"get":{"summary":"Liveness / health","description":"Returns JSON suitable for RFC 9727 API catalog status links.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}}}}},"/api/collections":{"get":{"summary":"Root STAC catalog","description":"Returns the authored root STAC Catalog. Follow child links to collection catalogs on this origin.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCatalog"}}}}}}},"/api/collections/{slug}":{"get":{"summary":"Collection STAC catalog","description":"Returns the authored STAC Catalog for one collection. Use the explicit /datasets child resource to search datasets.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCatalog"}}}},"400":{"description":"Bad request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/collections/{slug}/datasets":{"get":{"summary":"List datasets in a collection (paginated)","description":"Search and page datasets in one collection. There is no /api/collections/{slug}/items or ?q= shortcut; use dataset slugs under .../datasets/{datasetSlug} for detail.","parameters":[{"schema":{"type":"string","description":"Alias for the text filter"},"required":false,"description":"Alias for the text filter","name":"query","in":"query"},{"schema":{"type":"string","description":"Filter datasets by text"},"required":false,"description":"Filter datasets by text","name":"search","in":"query"},{"schema":{"type":"integer","exclusiveMinimum":0,"description":"Defaults to 50 when omitted"},"required":false,"description":"Defaults to 50 when omitted","name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0},"required":false,"name":"offset","in":"query"},{"schema":{"type":"string","enum":["true","false"]},"required":false,"name":"include_urls","in":"query"},{"schema":{"type":"string","enum":["files"],"description":"Add compact file/layer summaries to items"},"required":false,"description":"Add compact file/layer summaries to items","name":"include","in":"query"},{"schema":{"type":"string","description":"Use GET .../datasets/tags to discover allowed values"},"required":false,"description":"Use GET .../datasets/tags to discover allowed values","name":"tag_filters","in":"query"},{"schema":{"type":"string","description":"Comma-separated; use 'description' to omit long descriptions"},"required":false,"description":"Comma-separated; use 'description' to omit long descriptions","name":"omit","in":"query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"datasets":{"type":"array","items":{"$ref":"#/components/schemas/STACCatalog"}},"total":{"type":"number"},"limit":{"type":["number","null"]},"offset":{"type":"number"},"links":{"$ref":"#/components/schemas/ApiLinkMap"}},"required":["datasets","total","limit","offset"],"additionalProperties":{}}}}},"400":{"description":"Bad request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/collections/{collectionSlug}/datasets/tags":{"get":{"summary":"Tag facets for filter discovery","parameters":[{"schema":{"type":"string"},"required":false,"name":"tag_key","in":"query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"links":{"$ref":"#/components/schemas/ApiLinkMap"},"tags":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["links","tags"],"additionalProperties":{}}}}}}}},"/api/collections/{collectionSlug}/datasets/{datasetSlug}":{"get":{"summary":"Dataset detail in a collection","description":"Returns the raw dataset STAC Catalog with child links to file catalogs.","parameters":[{"schema":{"type":"string"},"required":true,"name":"collectionSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"datasetSlug","in":"path"}],"responses":{"200":{"description":"Dataset STAC Catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCatalog"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/collections/{collectionSlug}/datasets/{datasetSlug}/files/{fileSlug}":{"get":{"summary":"Selected dataset file version","description":"Returns the requested version as a raw STAC Collection, defaulting to latest. Assets are keyed by format and content hash; schema columns are in table:columns.","parameters":[{"schema":{"type":"string"},"required":true,"name":"collectionSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"datasetSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"fileSlug","in":"path"},{"schema":{"type":"string"},"required":false,"name":"version","in":"query"}],"responses":{"200":{"description":"Selected-version STAC Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCollection"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/collections/{collectionSlug}/datasets/{datasetSlug}/files/{fileSlug}/schema":{"get":{"summary":"Dataset file STAC Collection schema alias","description":"Exact alias of the selected-version file response. Read schema columns from table:columns; omit version to select latest.","parameters":[{"schema":{"type":"string"},"required":true,"name":"collectionSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"datasetSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"fileSlug","in":"path"},{"schema":{"type":"string"},"required":false,"name":"version","in":"query"}],"responses":{"200":{"description":"Selected-version STAC Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCollection"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/collections/{collectionSlug}/datasets/{datasetSlug}/metadata":{"get":{"summary":"Exact alias of the dataset STAC Catalog","parameters":[{"schema":{"type":"string"},"required":true,"name":"collectionSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"datasetSlug","in":"path"}],"responses":{"200":{"description":"Exact alias of the dataset STAC Catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCatalog"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/collections/{collectionSlug}/datasets/{datasetSlug}/files/{fileSlug}/metadata":{"get":{"summary":"Exact alias of the selected-version file STAC Collection","parameters":[{"schema":{"type":"string"},"required":true,"name":"collectionSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"datasetSlug","in":"path"},{"schema":{"type":"string"},"required":true,"name":"fileSlug","in":"path"},{"schema":{"type":"string"},"required":false,"name":"version","in":"query"}],"responses":{"200":{"description":"Exact alias of the selected-version file STAC Collection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCollection"}}}},"404":{"description":"Not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/datasets":{"get":{"summary":"List dataset STAC catalogs across collections","parameters":[{"schema":{"type":"string"},"required":false,"name":"search","in":"query"},{"schema":{"type":"string"},"required":false,"name":"query","in":"query"},{"schema":{"type":"string"},"required":false,"name":"tag_filters","in":"query"},{"schema":{"type":"integer","exclusiveMinimum":0},"required":false,"name":"limit","in":"query"},{"schema":{"type":["integer","null"],"minimum":0},"required":false,"name":"offset","in":"query"}],"responses":{"200":{"description":"Paginated custom wrapper of raw dataset STAC Catalogs","content":{"application/json":{"schema":{"type":"object","properties":{"datasets":{"type":"array","items":{"$ref":"#/components/schemas/STACCatalog"}},"total":{"type":"number"},"limit":{"type":"number"},"offset":{"type":"number"},"links":{"$ref":"#/components/schemas/ApiLinkMap"}},"required":["datasets","total","limit","offset"]}}}}}}},"/api/datasets/{id}":{"get":{"summary":"Dataset STAC Catalog by full slug identity","description":"Returns raw dataset STAC for a URL-encoded collection/dataset identity. Numeric legacy IDs are invalid.","parameters":[{"schema":{"type":"string"},"required":true,"description":"URL-encoded collection/dataset identity","name":"id","in":"path"}],"responses":{"200":{"description":"Dataset STAC Catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/STACCatalog"}}}},"400":{"description":"Invalid ID","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Dataset not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"502":{"description":"Failed to load dataset","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/datasets/stats":{"get":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"ready":{"type":"number"},"links":{"$ref":"#/components/schemas/ApiLinkMap"}},"required":["total"],"additionalProperties":{}}}}}}}},"/api/queries":{"post":{"summary":"Create a bounded dataset query","description":"Starts a bounded server-side query from catalog source identities. SQL is limited to 8 KiB UTF-8 and the request body is limited to 64 KiB.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryRequest"}}}},"responses":{"200":{"description":"Bounded query result page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResult"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"422":{"description":"Query cannot be executed as requested","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"503":{"description":"Query service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"504":{"description":"Query timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}}}}},"/api/queries/{query_id}/pages":{"post":{"summary":"Fetch a bounded query page","description":"Re-executes one bounded query page. The opaque query_id path value must match the signed token sent in X-HIFLD-Query-Token.","parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{20,64}$"},"required":true,"name":"query_id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-HIFLD-Query-Token","in":"header"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryPageRequest"}}}},"responses":{"200":{"description":"Bounded query result page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResult"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"422":{"description":"Query cannot be executed as requested","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"503":{"description":"Query service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"504":{"description":"Query timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}}}}},"/api/queries/{query_id}/bounds":{"get":{"summary":"Calculate query-result bounds for map framing","description":"Lazily re-executes the signed spatial query as an extent aggregate and returns WGS84 bounds. The query_id path value must match X-HIFLD-Query-Token.","parameters":[{"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{20,64}$"},"required":true,"name":"query_id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"X-HIFLD-Query-Token","in":"header"}],"responses":{"200":{"description":"WGS84 result bounds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryBounds"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"422":{"description":"Query result cannot be framed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"503":{"description":"Query service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}},"504":{"description":"Bounds query timed out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryError"}}}}}}}},"webhooks":{}}