{"definitions":{},"info":{"description":"This service provides access to high-resolution aerial imagery through a tile server. It offers both historical and latest mosaic tiles. Users can query surveys by geographic area (using WKT), time ranges, and coverage parameters. The service supports standard XYZ tile coordinates, multiple image formats (PNG, JPEG), and includes capabilities for retrieving survey metadata, coverage information, and mosaic updates. The API enables dynamic tile serving, making it suitable for web mapping applications and geospatial analysis. All endpoints support standard HTTP responses and include proper error handling for authentication, authorization, and resource availability.","termsOfService":"/tos","title":"Tile Service","version":"1.0.1"},"paths":{"/tile/rsm/{z}/{x}/{y}.{ext}":{"get":{"parameters":[{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"default":"NSL_BASEMAP_v7","description":"Survey name for the tile","in":"query","name":"survey","required":false,"type":"string"}],"responses":{"200":{"content":{"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"RSM tile retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Tile out of range or not found"},"500":{"description":"Internal Server Error - Unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve an RSM mosaic tile"}},"/tile/surveys":{"get":{"deprecated":true,"description":"You can retrieve a JSON-formatted list of all available surveys through our survey endpoint:<br/>","responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[[{"capture_date_end":"2023-08-29 15:07:24 UTC","capture_date_start":"2023-06-25 16:11:50 UTC","footprint":"MULTIPOLYGON (((-82.33154296875 27.64460638194332, ...[truncated]","id":"2023Q3-FL-TPA","spectral_range":"visible"},{"capture_date_end":"2023-04-10 19:58:30 UTC","capture_date_start":"2023-04-10 13:49:17 UTC","footprint":"MULTIPOLYGON (((-85.97900390625 39.23225314171489, ...[truncated]","id":"2023Q2-IN-COL","spectral_range":"visible"}]]}},"schema":{"items":{"properties":{"capture_date_end":{"description":"End date of the survey capture","format":"datetime","type":"string"},"capture_date_start":{"description":"Start date of the survey capture","format":"datetime","type":"string"},"footprint":{"description":"WKT string of the survey footprint","type":"string"},"id":{"description":"Unique identifier of the survey","type":"string"},"spectral_range":{"description":"Spectral range of the survey","type":"string"}},"type":"object"},"type":"array"}}},"description":"Surveys retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve all available surveys"}},"/tile/surveys/coverage":{"get":{"deprecated":true,"description":"Search for available surveys by geographic area and capture date using the survey coverage endpoint. Metadata timestamps are returned as `YYYY-MM-DD HH:MM:SS UTC`.<br/>","parameters":[{"description":"WKT string defining the area of interest. The area cannot exceed 696,000 square kilometers","in":"query","name":"wkt","required":true,"type":"string"},{"description":"Start date for observations (YYYY-MM-DD)","format":"date","in":"query","name":"observed_start","type":"string"},{"description":"End date for observations (YYYY-MM-DD)","format":"date","in":"query","name":"observed_end","type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[[{"capture_date_end":"2023-04-10 19:58:30 UTC","capture_date_start":"2023-04-10 13:49:17 UTC","footprint":"POLYGON ((-85.97454071044922 39.0969620016489, -85.97514152526855 39.0969620016489, -85.97514152526855 39.09689539729267, -85.97702980041504 39.09689539729267, -85.97702980041504 39.09682879293644, -85.97900390625 39.09682879293644, -85.97908973693848 39.09682879293644, -85.97908973693848 39.096762188580215, -85.97943305969238 .... -85.98175048828125 39.10342262420297, -85.98175048828125 39.105820381027165, -85.98183631896973 39.105820381027165, -85.98183631896973 39.10595358973962 -85.85978507995605 39.31716755149665, -85.85995674133301 39.31716755149665, -85.85995674133301 39.31710114060946, -85.85892677307129 39.31710114060946))","id":"2023Q2-IN-COL","spectral_range":"visible"}]]}}}},"description":"Survey coverage retrieved"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieves a list of SurveyMetadata items that match the given spatial and temporal filters (legacy UTC timestamps)"}},"/tile/v2/surveys":{"get":{"description":"This endpoint returns a paginated list of surveys ordered by their most recent update timestamp. (ISO 8601 timestamps)<br/>","parameters":[{"description":"The 1-based page index to retrieve. Each page contains the number of surveys specified by `page_size` (defaults to 25).","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"}},{"description":"Number of surveys to include per page (minimum of 1, defaults to 25)","in":"query","name":"page_size","schema":{"default":25,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":{"has_next":false,"page":1,"page_size":25,"results":[{"capture_date_end":"2025-10-29T18:53:43.502357Z","capture_date_start":"2025-10-25T18:01:11.705819Z","id":"2025-P01-CO-DEN","last_updated":"2025-12-02T17:32:02Z","spectral_range":"visible"},{"capture_date_end":"2025-10-19T19:16:25.778189Z","capture_date_start":"2025-09-22T19:27:03.636264Z","id":"2025-P1-MN-MSP","last_updated":"2025-11-28T19:50:21Z","spectral_range":"visible"},{"capture_date_end":"2024-12-08T17:44:12.804971Z","capture_date_start":"2024-12-04T16:24:55.440096Z","id":"2024Q4-SC-CAE","last_updated":"2025-11-09T00:12:22Z","spectral_range":"visible"},{"capture_date_end":"2024-11-01T18:43:25.875208Z","capture_date_start":"2024-10-29T15:32:08.790178Z","id":"2024Q4-FL-PTCH","last_updated":"2025-11-08T23:29:27Z","spectral_range":"visible"},{"capture_date_end":"2024-11-08T19:44:40.628561Z","capture_date_start":"2024-11-05T19:28:29.204699Z","id":"2024Q4-CA-RVSD","last_updated":"2025-11-08T23:24:51Z","spectral_range":"visible"}],"total_pages":1,"total_results":5}}},"schema":{"properties":{"has_next":{"description":"Indicates whether another page is available after this one","type":"boolean"},"page":{"description":"Current page index (1-based)","type":"integer"},"page_size":{"description":"Number of surveys returned per page (defaults to 25)","type":"integer"},"results":{"description":"List of surveys for the requested page","items":{"properties":{"capture_date_end":{"description":"End date of the survey capture","format":"datetime","type":"string"},"capture_date_start":{"description":"Start date of the survey capture","format":"datetime","type":"string"},"id":{"description":"Unique identifier of the survey","type":"string"},"last_updated":{"description":"Most recent update timestamp derived from the survey cache","format":"datetime","type":"string"},"spectral_range":{"description":"Spectral range of the survey","type":"string"}},"type":"object"},"type":"array"},"total_pages":{"description":"Total number of pages available","type":"integer"},"total_results":{"description":"Total number of surveys available","type":"integer"}},"type":"object"}}},"description":"Paginated surveys retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve paginated surveys without footprints"}},"/tile/v2/surveys/coverage":{"get":{"parameters":[{"description":"WKT string defining the area of interest","in":"query","name":"wkt","required":true,"type":"string"},{"description":"Filter surveys with observations after this date (YYYY-MM-DD)","format":"date","in":"query","name":"observed_start","type":"string"},{"description":"Filter surveys with observations before this date (YYYY-MM-DD)","format":"date","in":"query","name":"observed_end","type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[{"capture_date_end":"2023-04-10T19:58:30Z","capture_date_start":"2023-04-10T13:49:17Z","footprint":"POLYGON ((-85.97454071044922 39.0969620016489, ... ))","id":"2023Q2-IN-COL","spectral_range":"visible"}]}},"schema":{"items":{"properties":{"capture_date_end":{"description":"End date of the survey capture (ISO 8601)","format":"date-time","type":"string"},"capture_date_start":{"description":"Start date of the survey capture (ISO 8601)","format":"date-time","type":"string"},"footprint":{"description":"WKT string of the survey footprint","type":"string"},"id":{"description":"Unique identifier of the survey","type":"string"},"spectral_range":{"description":"Spectral range of the survey","type":"string"}},"type":"object"},"type":"array"}}},"description":"Surveys retrieved successfully"},"400":{"description":"Bad Request - Validation error"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve survey coverage metadata (ISO 8601 timestamps)"}},"/tile/v2/{mosaic_id}/coverage":{"get":{"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"default":14,"description":"Zoom level (default 14)","in":"query","name":"zoom","type":"integer"},{"description":"WKT string defining the area of interest","in":"query","name":"wkt","required":true,"type":"string"},{"default":"intersects","description":"Overlap type (intersects, contains, within)","in":"query","name":"overlap","type":"string"},{"description":"Tile coverage threshold","in":"query","name":"tc","type":"integer"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[[{"capture_date_end":"2024-11-01T18:21:26Z","capture_date_start":"2024-11-01T18:17:51Z","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241101T181751_20241101T182126_20241101T193155_02301310020223","percent_covered":null,"published_date":"2024-11-01T19:31:55Z","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"},{"capture_date_end":"2024-10-23T08:01:22Z","capture_date_start":"2024-10-23T07:59:28Z","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241023T075928_20241023T080122_20241023T082549_02301310020223","percent_covered":null,"published_date":"2024-10-23T08:25:49Z","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241023T075928_20241023T080122_20241023T082549_02301310020223/14/2945/6423"}]]}}}},"description":"Coverage retrieved successfully"},"400":{"description":"Bad Request - Validation error"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve coverage metadata for a specific mosaic (ISO 8601 timestamps)"}},"/tile/v2/{mosaic_id}/footprint":{"get":{"parameters":[{"description":"Unique identifier for the mosaic/survey","in":"path","name":"mosaic_id","required":true,"type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Successful response with footprint","value":{"footprint":"POLYGON ((-115.29052734375 36.17335693522159, -115.2685546875 36.191092021824524, -115.2685546875 36.20824829635762, -115.29052734375 36.20824829635762, -115.29052734375 36.17335693522159))","status":200,"survey_id":"2024Q2-NV-LAS"}},"example2":{"summary":"Survey not found","value":{"footprint":null,"status":404,"survey_id":"2024Q2-INVALID"}}},"schema":{"properties":{"footprint":{"description":"WKT (Well-Known Text) string representing the survey footprint geometry","type":"string"},"status":{"description":"HTTP status code","type":"integer"},"survey_id":{"description":"The survey identifier","type":"string"}},"type":"object"}}},"description":"Survey footprint retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Survey does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve the footprint for a single survey"}},"/tile/v2/{mosaic_id}/mosaic_updates":{"get":{"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"ISO 8601 timestamp indicating the start of the update window","format":"date-time","in":"query","name":"since","type":"string"},{"description":"ISO 8601 timestamp indicating the end of the update window","format":"date-time","in":"query","name":"until","type":"string"},{"default":false,"description":"Whether to include percent_covered in the response","in":"query","name":"include_percent_covered","type":"boolean"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[[{"capture_date_end":"2023-05-04T16:01:29Z","capture_date_start":"2023-05-04T16:00:16Z","file_format":"png","geospatial_extent":[-82.353515625,34.452218472826544,-82.33154296875,34.47033512121749],"mosaic_stac_id":"20230504T160016_20230504T160129_20231016T101153_03200303231322","percent_covered":100,"published_date":"2023-10-16T10:11:53Z","spatial_resolution_class":"10.0cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2023Q2-SC-IVA/20230504T160016_20230504T160129_20231016T101153_03200303231322/14/4444/6519"},{"capture_date_end":"2023-05-04T15:37:04Z","capture_date_start":"2023-05-04T15:35:30Z","file_format":"png","geospatial_extent":[-82.8369140625,34.633207911379586,-82.81494140625,34.65128519895414],"mosaic_stac_id":"20230504T153530_20230504T153704_20231016T101041_03200303202312","percent_covered":95,"published_date":"2023-10-16T10:10:41Z","spatial_resolution_class":"10.0cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2023Q2-SC-IVA/20230504T153530_20230504T153704_20231016T101041_03200303202312/14/4434/6503"}]]}}}},"description":"Mosaic updates retrieved successfully"},"400":{"description":"Bad Request - Validation error"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve mosaic updates with ISO 8601 timestamps"}},"/tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}":{"get":{"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"STAC ID of the mosaic","in":"path","name":"mosaic_stac_id","required":true,"type":"string"},{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile\n\nThe following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package\n```\nimport mercantile\nimport argparse\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--lat', type=float, required=True)\nparser.add_argument('--lon', type=float, required=True)\nparser.add_argument('-z', '--zoom', type=int, required=True)\nargs = parser.parse_args()\n\ntile = mercantile.tile(args.lon, args.lat, args.zoom)\nprint(tile)\n```\n","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"description":"If provided, returns metadata instead of the tile","in":"query","name":"metadata","required":false,"type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[{"capture_date_end":"2024-11-01T18:21:26Z","capture_date_start":"2024-11-01T18:17:51Z","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241101T181751_20241101T182126_20241101T193155_02301310020223","percent_covered":38,"published_date":"2024-11-01T19:31:55Z","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"}]}}},"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Historical mosaic tile or metadata retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps)"}},"/tile/v2/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}.{ext}":{"get":{"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"STAC ID of the mosaic","in":"path","name":"mosaic_stac_id","required":true,"type":"string"},{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile\n\nThe following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package\n```\nimport mercantile\nimport argparse\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--lat', type=float, required=True)\nparser.add_argument('--lon', type=float, required=True)\nparser.add_argument('-z', '--zoom', type=int, required=True)\nargs = parser.parse_args()\n\ntile = mercantile.tile(args.lon, args.lat, args.zoom)\nprint(tile)\n```\n","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"description":"If provided, returns metadata instead of the tile","in":"query","name":"metadata","required":false,"type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[{"capture_date_end":"2024-11-01T18:21:26Z","capture_date_start":"2024-11-01T18:17:51Z","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241101T181751_20241101T182126_20241101T193155_02301310020223","percent_covered":38,"published_date":"2024-11-01T19:31:55Z","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"}]}}},"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Historical mosaic tile or metadata retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve a historical mosaic tile or metadata (ISO 8601 timestamps)"}},"/tile/v2/{mosaic_id}/{z}/{x}/{y}":{"get":{"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"Zoom level","in":"path","name":"z","required":true,"type":"integer"},{"description":"Tile X coordinate","in":"path","name":"x","required":true,"type":"integer"},{"description":"Tile Y coordinate","in":"path","name":"y","required":true,"type":"integer"},{"description":"Image extension (png or jpg)","in":"path","name":"ext","type":"string"},{"description":"When true, returns JSON metadata instead of the tile binary","in":"query","name":"metadata","type":"boolean"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Metadata example","value":[{"capture_date_end":"2022-08-28T18:10:21Z","capture_date_start":"2022-01-29T18:06:15Z","file_format":"png","geospatial_extent":[-97.74124145507812,30.274486436999457,-97.7398681640625,30.27567243159789],"mosaic_stac_id":"20220129T1806_20220828T1805_20230413T0956_02313012033113","percent_covered":100,"published_date":"2023-04-13T09:54:52Z","spatial_resolution_class":"10cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/surveyid/20220129T1806_20220828T1805_20230413T0956_02313012033113/18/59899/107922"}]}}},"image/jpg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Tile bytes or metadata retrieved successfully"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve the latest mosaic tile (ISO 8601 metadata)"}},"/tile/v2/{mosaic_id}/{z}/{x}/{y}.{ext}":{"get":{"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"Zoom level","in":"path","name":"z","required":true,"type":"integer"},{"description":"Tile X coordinate","in":"path","name":"x","required":true,"type":"integer"},{"description":"Tile Y coordinate","in":"path","name":"y","required":true,"type":"integer"},{"description":"Image extension (png or jpg)","in":"path","name":"ext","type":"string"},{"description":"When true, returns JSON metadata instead of the tile binary","in":"query","name":"metadata","type":"boolean"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Metadata example","value":[{"capture_date_end":"2022-08-28T18:10:21Z","capture_date_start":"2022-01-29T18:06:15Z","file_format":"png","geospatial_extent":[-97.74124145507812,30.274486436999457,-97.7398681640625,30.27567243159789],"mosaic_stac_id":"20220129T1806_20220828T1805_20230413T0956_02313012033113","percent_covered":100,"published_date":"2023-04-13T09:54:52Z","spatial_resolution_class":"10cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/surveyid/20220129T1806_20220828T1805_20230413T0956_02313012033113/18/59899/107922"}]}}},"image/jpg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Tile bytes or metadata retrieved successfully"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve the latest mosaic tile (ISO 8601 metadata)"}},"/tile/{mosaic_id}/coverage":{"get":{"deprecated":true,"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"default":14,"description":"Zoom level (default 14)","in":"query","name":"zoom","type":"integer"},{"description":"WKT string defining the area of interest","in":"query","name":"wkt","required":true,"type":"string"},{"default":"intersects","description":"Overlap type (intersects, contains, within)","in":"query","name":"overlap","type":"string"},{"description":"Tile coverage threshold","in":"query","name":"tc","type":"integer"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[[{"capture_date_end":"2024-11-01 18:21:26 UTC","capture_date_start":"2024-11-01 18:17:51 UTC","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241101T181751_20241101T182126_20241101T193155_02301310020223","percent_covered":null,"published_date":"2024-11-01 19:31:55 UTC","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"},{"capture_date_end":"2024-10-23 08:01:22 UTC","capture_date_start":"2024-10-23 07:59:28 UTC","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241023T075928_20241023T080122_20241023T082549_02301310020223","percent_covered":null,"published_date":"2024-10-23 08:25:49 UTC","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241023T075928_20241023T080122_20241023T082549_02301310020223/14/2945/6423"}]]}}}},"description":"Coverage retrieved successfully"},"400":{"description":"Bad Request - Validation error"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve coverage metadata for a specific mosaic (legacy UTC timestamps)"}},"/tile/{mosaic_id}/footprint":{"get":{"parameters":[{"description":"Unique identifier for the mosaic/survey","in":"path","name":"mosaic_id","required":true,"type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Successful response with footprint","value":{"footprint":"POLYGON ((-115.29052734375 36.17335693522159, -115.2685546875 36.191092021824524, -115.2685546875 36.20824829635762, -115.29052734375 36.20824829635762, -115.29052734375 36.17335693522159))","status":200,"survey_id":"2024Q2-NV-LAS"}},"example2":{"summary":"Survey not found","value":{"footprint":null,"status":404,"survey_id":"2024Q2-INVALID"}}},"schema":{"properties":{"footprint":{"description":"WKT (Well-Known Text) string representing the survey footprint geometry","type":"string"},"status":{"description":"HTTP status code","type":"integer"},"survey_id":{"description":"The survey identifier","type":"string"}},"type":"object"}}},"description":"Survey footprint retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Survey does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve the footprint for a single survey"}},"/tile/{mosaic_id}/mosaic_updates":{"get":{"deprecated":true,"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"Start datetime for filtering updates (ISO 8601 format). \nDefault behavior:\n- If 'until' is provided but 'since' is not: defaults to 30 days before the 'until' date\n- If neither 'since' nor 'until' are provided: defaults to 30 days before current time\n- Must be chronologically before the 'until' parameter\n","format":"date-time","in":"query","name":"since","type":"string"},{"description":"End datetime for filtering updates (ISO 8601 format).\nDefault behavior:\n- If 'since' is provided but 'until' is not: defaults to current time\n- If neither 'since' nor 'until' are provided: defaults to 30 days before current time\n- Must be chronologically after the 'since' parameter\n","format":"date-time","in":"query","name":"until","type":"string"},{"default":false,"description":"Flag to include percent covered in the response","in":"query","name":"include_percent_covered","type":"boolean"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[[{"capture_date_end":"2023-05-04 16:01:29 UTC","capture_date_start":"2023-05-04 16:00:16 UTC","file_format":"png","geospatial_extent":[-82.353515625,34.452218472826544,-82.33154296875,34.47033512121749],"mosaic_stac_id":"20230504T160016_20230504T160129_20231016T101153_03200303231322","percent_covered":100,"published_date":"2023-10-16 10:11:53 UTC","spatial_resolution_class":"10.0cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2023Q2-SC-IVA/20230504T160016_20230504T160129_20231016T101153_03200303231322/14/4444/6519"},{"capture_date_end":"2023-05-04 15:37:04 UTC","capture_date_start":"2023-05-04 15:35:30 UTC","file_format":"png","geospatial_extent":[-82.8369140625,34.633207911379586,-82.81494140625,34.65128519895414],"mosaic_stac_id":"20230504T153530_20230504T153704_20231016T101041_03200303202312","percent_covered":95,"published_date":"2023-10-16 10:10:41 UTC","spatial_resolution_class":"10.0cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2023Q2-SC-IVA/20230504T153530_20230504T153704_20231016T101041_03200303202312/14/4422/6509"}]]}}}},"description":"Mosaic updates retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve updates for a specific mosaic (legacy UTC timestamps)"}},"/tile/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}":{"get":{"deprecated":true,"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"STAC ID of the mosaic","in":"path","name":"mosaic_stac_id","required":true,"type":"string"},{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile\n\nThe following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package\n```\nimport mercantile\nimport argparse\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--lat', type=float, required=True)\nparser.add_argument('--lon', type=float, required=True)\nparser.add_argument('-z', '--zoom', type=int, required=True)\nargs = parser.parse_args()\n\ntile = mercantile.tile(args.lon, args.lat, args.zoom)\nprint(tile)\n```\n","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"description":"If provided, returns metadata instead of the tile","in":"query","name":"metadata","required":false,"type":"string"},{"default":false,"description":"Cache flag to control tile caching behavior","in":"query","name":"cache","required":false,"type":"boolean"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[{"capture_date_end":"2024-11-01 18:21:26 UTC","capture_date_start":"2024-11-01 18:17:51 UTC","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241101T181751_20241101T182126_20241101T193155_02301310020223","percent_covered":38,"published_date":"2024-11-01 19:31:55 UTC","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"}]}}},"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Historical mosaic tile or metadata retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve a historical mosaic tile or metadata (legacy UTC timestamps)"}},"/tile/{mosaic_id}/{mosaic_stac_id}/{z}/{x}/{y}.{ext}":{"get":{"deprecated":true,"parameters":[{"description":"Unique identifier for the mosaic","in":"path","name":"mosaic_id","required":true,"type":"string"},{"description":"STAC ID of the mosaic","in":"path","name":"mosaic_stac_id","required":true,"type":"string"},{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile\n\nThe following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package\n```\nimport mercantile\nimport argparse\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--lat', type=float, required=True)\nparser.add_argument('--lon', type=float, required=True)\nparser.add_argument('-z', '--zoom', type=int, required=True)\nargs = parser.parse_args()\n\ntile = mercantile.tile(args.lon, args.lat, args.zoom)\nprint(tile)\n```\n","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"description":"If provided, returns metadata instead of the tile","in":"query","name":"metadata","required":false,"type":"string"},{"default":false,"description":"Cache flag to control tile caching behavior","in":"query","name":"cache","required":false,"type":"boolean"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output","value":[{"capture_date_end":"2024-11-01 18:21:26 UTC","capture_date_start":"2024-11-01 18:17:51 UTC","file_format":"png","geospatial_extent":[-115.29052734375,36.17335693522159,-115.2685546875,36.191092021824524],"mosaic_stac_id":"20241101T181751_20241101T182126_20241101T193155_02301310020223","percent_covered":38,"published_date":"2024-11-01 19:31:55 UTC","spatial_resolution_class":"7.5cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/2024Q2-NV-LAS/20241101T181751_20241101T182126_20241101T193155_02301310020223/14/2945/6423"}]}}},"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Historical mosaic tile or metadata retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Retrieve a historical mosaic tile or metadata (legacy UTC timestamps)"}},"/tile/{mosaic_id}/{z}/{x}/{y}":{"get":{"deprecated":true,"parameters":[{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile\n\nThe following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package\n```\nimport mercantile\nimport argparse\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--lat', type=float, required=True)\nparser.add_argument('--lon', type=float, required=True)\nparser.add_argument('-z', '--zoom', type=int, required=True)\nargs = parser.parse_args()\n\ntile = mercantile.tile(args.lon, args.lat, args.zoom)\nprint(tile)\n```\n","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"default":"NSL_BASEMAP_v7","description":"Survey name for the tile","in":"query","name":"survey","required":false,"type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output for metadata request","value":[{"capture_date_end":"2022-08-28 18:10:21 UTC","capture_date_start":"2022-01-29 18:06:15 UTC","file_format":"png","geospatial_extent":[-97.74124145507812,30.274486436999457,-97.7398681640625,30.27567243159789],"mosaic_stac_id":"20220129T1806_20220828T1805_20230413T0956_02313012033113","percent_covered":100,"published_date":"2023-04-13 09:54:52 UTC","spatial_resolution_class":"10cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/surveyid/20220129T1806_20220828T1805_20230413T0956_02313012033113/18/59899/107922"}]}}},"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Tile retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Returns tiles from the latest mosaic available for a given XYZ (legacy UTC metadata timestamps)."}},"/tile/{mosaic_id}/{z}/{x}/{y}.{ext}":{"get":{"deprecated":true,"parameters":[{"description":"Zoom level of the tile","in":"path","name":"z","required":true,"type":"integer"},{"description":"X coordinate of the tile\n\nThe following code sample demonstrates how to translate latitude/longitude to XYZ using the Mercantile python package\n```\nimport mercantile\nimport argparse\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument('--lat', type=float, required=True)\nparser.add_argument('--lon', type=float, required=True)\nparser.add_argument('-z', '--zoom', type=int, required=True)\nargs = parser.parse_args()\n\ntile = mercantile.tile(args.lon, args.lat, args.zoom)\nprint(tile)\n```\n","in":"path","name":"x","required":true,"type":"integer"},{"description":"Y coordinate of the tile","in":"path","name":"y","required":true,"type":"integer"},{"default":"png","description":"File extension of the tile (e.g., png, jpeg)","in":"path","name":"ext","required":false,"type":"string"},{"default":"NSL_BASEMAP_v7","description":"Survey name for the tile","in":"query","name":"survey","required":false,"type":"string"}],"responses":{"200":{"content":{"application/json":{"examples":{"example1":{"summary":"Example output for metadata request","value":[{"capture_date_end":"2022-08-28 18:10:21 UTC","capture_date_start":"2022-01-29 18:06:15 UTC","file_format":"png","geospatial_extent":[-97.74124145507812,30.274486436999457,-97.7398681640625,30.27567243159789],"mosaic_stac_id":"20220129T1806_20220828T1805_20230413T0956_02313012033113","percent_covered":100,"published_date":"2023-04-13 09:54:52 UTC","spatial_resolution_class":"10cm","spectral_range":"visible","static_url":"https://api.nearspacelabs.net/tile/surveyid/20220129T1806_20220828T1805_20230413T0956_02313012033113/18/59899/107922"}]}}},"image/jpeg":{"schema":{"format":"binary","type":"string"}},"image/png":{"schema":{"format":"binary","type":"string"}}},"description":"Tile retrieved successfully"},"400":{"description":"Bad Request - Invalid parameters"},"401":{"description":"Unauthorized - Missing or invalid credentials"},"403":{"description":"Forbidden - Insufficient permissions"},"404":{"description":"Not Found - Resource does not exist"},"500":{"description":"Internal Server Error - Contract error or unexpected failure"},"503":{"description":"Service Unavailable - Backend service error"}},"summary":"Returns tiles from the latest mosaic available for a given XYZ (legacy UTC metadata timestamps)."}}},"swagger":"2.0"}
