{"openapi":"3.1.0","info":{"description":"<p><b>Vexcel’s Application Programming Interface (API)</b> is a set of HTTPS services that allows viewing and downloading images, elements and metadata.</p><p>These HTTPS services are defined as parameter-based REST and key/value pair protocols for requesting information. They offer responses in a wide variety of formats, including JPEG, PNG and TIFF for images and JSON/GeoJSON for metadata/elements.</p><p>Most services respond to standard HTTPS GET or POST requests, and return the information in the body of the HTTPS response. Some services require asynchronous calculations and have companion /status and /download services to retrieve the requested information.</p><p>There are several types of authentication tokens:</p><div><ul><li><code>token</code> <i>standard auth key obtained from auth/login</i></li><li>X-API-KEY's:<ul><li><code>api_key</code> <i>long-lived token obtained from Customer Advocacy</i></li></ul></li></ul></div><p>These tokens work with the following authentication methods:</p><div><ul><li><code>Basic</code> <i>No authentication token - username/password</i></li><li><code>Bearer</code> <i>token</i></li><li><code>Cookie</code> <i>token or any X-API-KEY</i></li><li><code>Header</code> <i>Any X-API-KEY</i></li><li><code>Parameter-X-API-KEY</code><i>X-API-KEY</i></li><li><code>Parameter-token</code> <i>token</i></li></ul></div><p>To use these documents dynamically, Click the <b>Authorize 🔓</b> button below and select the method you prefer.</p><p><a href='mailto:support@vexcelgroup.com'>support@vexcelgroup.com</a> | <a href='http://support.vexcelgroup.com'>support.vexcelgroup.com</a></p>","title":"API 2.0","version":"2.0"},"servers":[{"url":"/v2","description":"API 2.0 Services"}],"security":[{"Basic":[],"Bearer":[],"Cookie":[],"Header":[],"Parameter-api_key":[],"Parameter-token":[]}],"tags":[{"description":"Returns a list of Orthomosaic coverages of graysky events","name":"ortho/events"},{"description":"Services for WMTS GetCapabilities/GetTile","name":"ortho/wmts"},{"description":"Returns an ortho image containing the provided region","name":"ortho/extract"},{"description":"Returns a list of Orthomosaic collection coverage metadata","name":"ortho/collections"},{"description":"Returns estimate dates of an ortho collection","name":"ortho/dates"},{"description":"Returns an ortho image containing the provided tile","name":"ortho/tile"}],"paths":{"/ortho/collections":{"get":{"description":"### Introduction\n\nThis service will return a GeoJSON file containing ortho imagery coverage information from the Vexcel library. The output GeoJSON will contain the geometry of the geographic coverage for the query. This service is particularly useful to:\n\n<ul><li>Identify the locations of ortho imagery</li><li>See the full extent of an events ortho coverage</li></ul>\n<img src=\"../resources/img/docs/ortho_collections.png\"/>","operationId":"coverage_2","parameters":[{"description":"The well-known-text (point or polygon) \n\nⓘ Note: Information is returned only for real-world coordinates; WKTs that extend beyond ±180° longitude are accepted, but results are limited to the portion of the geometry that intersects valid Earth bounds.","example":"POLYGON ((-118.8333997 34.13320667, -118.8333997 34.13400667, -118.83219969999999 34.13400667, -118.83219969999999 34.13320667, -118.8333997 34.13320667))","in":"query","name":"wkt","required":false,"schema":{"type":"string"}},{"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT","example":4326,"in":"query","name":"srid","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The spatial-query used to specify which collections to select based on their relationship to the user’s input wkt.\n\n**Note**: This parameter will be ignored if:<ul><li>**wkt** is defined as a point or line</li></ul>\n\n<i>Available values</i>: <ul><li>intersect (default): collections must intersect with the input wkt to be returned.</li><li>within-wkt: collections must be completely contained within the input wkt to be returned. </li><li>covers-wkt: collections must cover the input wkt entirely to be returned.</li></ul>","example":"intersect","in":"query","name":"spatial-operation","required":false,"schema":{"type":"string","enum":["intersect","covers-wkt","within-wkt"]}},{"description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas: urban, urban-r, wide-area, urban-g, graysky","example":"urban","in":"query","name":"layer","required":false,"schema":{"type":"string"}},{"description":"The identifier of the collection which contains the desired data referred to as collection in metadata","example":"us-ca-santaclarita-2021","in":"query","name":"collection","required":false,"schema":{"type":"string"}},{"description":"The event name of the Graysky collectio event","in":"query","name":"graysky-event","required":false,"schema":{"type":"string"}},{"description":"The collection year of the tiles expressed with 4 digits","example":2021,"in":"query","name":"collect-year","required":false,"schema":{"type":"integer","format":"int32","minLength":4}},{"description":"The product type of the image returned.The type of ortho product of the image returned. Throughout our production process, we produce several ortho products. This table outlines the current production level indicated by the product-type response value.\n              <table border=\"1\">                <thead>                  <tr>                    <th><b>&nbsp;Production Progression* ↓&nbsp;&nbsp;&nbsp; \\&nbsp;&nbsp;&nbsp; Layer → </b></th>                    <th><b>&nbsp;urban</b></th>                    <th><b>&nbsp;urban-r</b></th>                    <th><b>&nbsp;wide-area</b></th>                    <th><b>&nbsp;graysky<sup>†</sup></b></th>                    <th><b>&nbsp;graysky-g<sup>†</sup></b></th>                    <th><b>&nbsp;urban-g<sup>†</sup></b></th>                  </tr>                </thead>                <tbody>                  <tr>                    <td><b>&nbsp;Imagery Ingested</b></td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Aerial Triangulated and Color Balanced</b></td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;final-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Natively Orthorectified<sup>‡</sup></b></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                  <tr>                    <td><b>&nbsp;Water Edited and Manual Quality Reviewed</b></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                </tbody>              </table>              <br>&nbsp;&nbsp;* <i>The production steps are chronological; each step includes all processes above it.</i>              <br>&nbsp;&nbsp;<sup>†</sup> <i>graysky, graysky-g and urban-g only have first-ortho and quick-ortho statuses. They do not have dxm-ortho or final-ortho. </i>              <br>&nbsp;&nbsp;<sup>‡</sup><i>Native Orthorectification refers to imagery rectified using a DEM generated from the same aerial image collection, ensuring alignment with the terrain as captured.</i>","example":"final-ortho","in":"query","name":"product-type","required":false,"schema":{"type":"string"}},{"description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-11-15T00:00:00","in":"query","name":"min-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-11-15T23:59:59","in":"query","name":"max-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable maxcapturedate. Collections with maxcapturedates prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-12-19T00:00:00","in":"query","name":"min-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable maxcapturedate. Collections with maxcapturedates after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-12-19T23:59:59","in":"query","name":"max-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable firstpublishdate. Collections with firstpublishdate prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T00:00:01","in":"query","name":"min-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable firstpublishdate. Collections with firstpublishdate after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T23:59:59","in":"query","name":"max-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable lastpublishdate. Collections with lastpublishdate prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T00:00:00","in":"query","name":"min-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable lastpublishdate. Collections with lastpublishdate after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T23:59:59","in":"query","name":"max-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The format language of the metadata response","example":"JSON","in":"query","name":"metadata-format","required":false,"schema":{"type":"string","enum":["json","xml"]}},{"description":"The color bands in which the returned collection's ortho must contain.<br><br><i>Available values</i>: <ul><li><b>rgb</b>: (default): Ortho is available in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Ortho is available in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","example":"RGB","in":"query","name":"bands","required":false,"schema":{"type":"string","enum":["rgb","irg"]}},{"description":"Fields to be included on the JSON result, separated by commas. Won't return anything if empty: \nlayer, source-layer, collection, graysky-event, graysky-event-pretty-name, first-capture-date, last-capture-date,min-gsd, max-gsd, avg-gsd, geometry, first-publish-date, last-publish-date, product-type, pretty-name, max-zoom, camera-technology, area, z-index, bands, occlusion-estimate, occlusion-score","example":"geometry,product-type,collection,graysky-event","in":"query","name":"include","required":false,"schema":{"type":"string","default":"geometry,product-type,collection,graysky-event"}},{"description":"In the case that more than one collection matches the input parameters, <code>order-by</code> will define the method by which the potential collections are ordered. This parameter can take multiple values, separated by commas, and will honor them in the order in which they are defined.<br><br><b>Allowed values</b>: <i><code>layer-asc</code>, <code>layer-desc</code>, <code>first-capture-date-asc</code>, <code>first-capture-date-desc</code>, <code>last-capture-date-asc</code>, <code>last-capture-date-desc</code>, <code>first-publish-date-asc</code>, <code>first-publish-date-desc</code>, <code>last-publish-date-asc</code>, <code>last-publish-date-desc</code>, <code>avg-gsd-asc</code>, <code>avg-gsd-desc</code>, <code>area-asc</code>, <code>area-desc</code>, <code>occlusion-estimate-asc</code>, <code>occlusion-estimate-desc</code>, <code>occlusion-score-asc</code>, <code>occlusion-score-desc</code></i><br><br><i><b>Note</b>: <code>layer-asc</code> and <code>layer-desc</code> will respect the order of layers as defined in the <code>layer</code> parameter, if <code>layer</code> is undefined ordering will appear to be random.</i><br><br><i><b>Default value</b>: <code>first-capture-date-desc</code>","example":"first-capture-date-desc, area-desc","in":"query","name":"order-by","required":false,"schema":{"type":"string"}},{"description":"<p>Specifies the maximum number of records to return. This parameter reduce the total number of records matching the query.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>","example":1,"in":"query","name":"total-records","required":false,"schema":{"type":"integer","format":"int32","minimum":1}},{"description":"<p>Specifies the maximum number of records to return on each page of the response, up to a limit of 500. If page-size is omitted or exceeds 500, it defaults to 500. This parameter does not reduce the total number of records matching the query; it only controls how many records are returned per page. Smaller page-size values will result in more pages.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>","example":1,"in":"query","name":"page-size","required":false,"schema":{"type":"integer","format":"int32","default":500,"maximum":500,"minimum":1}},{"description":"<p>Requests that would return more records than allowed by the <code>page-size</code> parameter are paginated. <code>total-records</code> and <code>total-pages</code> are included in the response header for page 1 only; they are not included in subsequent pages. <code>current-page</code> is included on all page headers. The initial request returns page 1 by default; to request page 2, append <code>page=2</code> to the original request (URL or POST body) and resend.</p>\n</br><p><i><b>Note:</b> Only records in the requested pages are reported for billing. For example, if a query contains 2 pages but <code>page=2</code> is never requested, only the records received in page 1 are reported for billing.</i></p>","example":1,"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrthoCollectionResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/OrthoCollectionResponse"}},"text/plain":{"schema":{"$ref":"#/components/schemas/OrthoCollectionResponse"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"application/json":{"example":{"status":400,"message":"'Parameter' is mandatory"}}},"description":"Bad Request"},"401":{"content":{"application/json":{}},"description":"Authentication Failure"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"example":{"status":404,"message":"No available results for request"}}},"description":"Not found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"example":{"status":500,"message":"Internal Server Error"}}},"description":"Internal Server Error"}},"summary":"Returns a list of Orthomosaic collection coverage metadata","tags":["ortho/collections"]},"post":{"description":"### Introduction\n\nThis service will return a GeoJSON file containing ortho imagery coverage information from the Vexcel library. The output GeoJSON will contain the geometry of the geographic coverage for the query. This service is particularly useful to:\n\n<ul><li>Identify the locations of ortho imagery</li><li>See the full extent of an events ortho coverage</li></ul>\n<img src=\"../resources/img/docs/ortho_collections.png\"/>","operationId":"coverage_3","requestBody":{"content":{"application/json":{"examples":{"Coverage by wkt 3857":{"description":"Query coverages by wkt","value":{"layer":"wide-area","wkt":"POLYGON ((-13228473.54383755 4046702.4825913976, -13228473.54383755 4046810.0725631006, -13228339.960448595 4046810.0725631006, -13228339.960448595 4046702.4825913976, -13228473.54383755 4046702.4825913976))","srid":3857,"orientation":"nadir","include":["geometry","product-type","collection","graysky-event"],"max-records":1}},"Coverage by wkt 4326":{"description":"Query coverages by wkt","value":{"layer":"wide-area","wkt":"POLYGON ((-118.8333997 34.13320667, -118.8333997 34.13400667, -118.83219969999999 34.13400667, -118.83219969999999 34.13320667, -118.8333997 34.13320667))","orientation":"nadir","include":["geometry","product-type","collection","graysky-event"],"max-records":1}}},"schema":{"$ref":"#/components/schemas/OrthoCollectionRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrthoCollectionResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/OrthoCollectionResponse"}},"text/plain":{"schema":{"$ref":"#/components/schemas/OrthoCollectionResponse"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"application/json":{"example":{"status":400,"message":"'Parameter' is mandatory"}}},"description":"Bad Request"},"401":{"content":{"application/json":{}},"description":"Authentication Failure"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"example":{"status":404,"message":"No available results for request"}}},"description":"Not found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"example":{"status":500,"message":"Internal Server Error"}}},"description":"Internal Server Error"}},"summary":"Returns a list of Orthomosaic collection coverage metadata","tags":["ortho/collections"]}},"/ortho/dates":{"get":{"description":"### Introduction\n\nThis service will estimate the collection date for a requested pixel from the ortho imagery. Because ortho imagery is generated by combining many overlapping images it is impossible to know the exact date of collection for a given location. This service will query a point for overlapping nadir images and return the minimum, maximum and estimated date for each pixel.\n\n<ul><li>Minimum - The earliest date of collection for any intersecting nadir image matching the query criteria</li><li>Maximum - The latest date of collection for any intersecting nadir image matching the query criteria</li><li>Estimated - The collection date of the nadir image most centered over the input location and matching the query criteria</li></ul>\n<img src=\"../resources/img/docs/ortho_dates.png\"/>","operationId":"estimateDates","parameters":[{"description":"The name of the desired layer. Available options: urban, urban-r, wide-area, urban-g, graysky, graysky-g","example":"urban","in":"query","name":"layer","required":true,"schema":{"type":"string"}},{"description":"The well-known-text (point or polygon) \n\n ⓘ Note: Information is returned only for real-world coordinates; WKTs that extend beyond ±180° longitude are accepted, but results are limited to the portion of the geometry that intersects valid Earth bounds.","example":"POLYGON ((-118.8333997 34.13320667, -118.8333997 34.13400667, -118.83219969999999 34.13400667, -118.83219969999999 34.13320667, -118.8333997 34.13320667))","in":"query","name":"wkt","required":true,"schema":{"type":"string"}},{"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT. Default 4326","example":4326,"in":"query","name":"srid","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The identifier of the AOI (Area of Interest) which contains the desired imagery.","example":"us-ca-santaclarita-2021","in":"query","name":"collection","required":false,"schema":{"type":"string"}},{"description":"The collection year of the tiles expressed with 4 digits","example":2021,"in":"query","name":"collect-year","required":false,"schema":{"type":"integer","format":"int32","minLength":4}},{"description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-11-15T00:00:00","in":"query","name":"min-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-11-15T23:59:59","in":"query","name":"max-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable maxcapturedate. Collections with maxcapturedates prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-12-19T00:00:00","in":"query","name":"min-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable maxcapturedate. Collections with maxcapturedates after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-12-19T23:59:59","in":"query","name":"max-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable firstpublishdate. Collections with firstpublishdate prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T00:00:01","in":"query","name":"min-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable firstpublishdate. Collections with firstpublishdate after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T23:59:59","in":"query","name":"max-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable lastpublishdate. Collections with lastpublishdate prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T00:00:00","in":"query","name":"min-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable lastpublishdate. Collections with lastpublishdate after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-01-24T23:59:59","in":"query","name":"max-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrthoEstimateDatesResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/OrthoEstimateDatesResponse"}},"text/plain":{"schema":{"$ref":"#/components/schemas/OrthoEstimateDatesResponse"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"application/json":{"example":{"status":400,"message":"'Parameter' is mandatory"}}},"description":"Bad Request"},"401":{"content":{"application/json":{}},"description":"Authentication Failure"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"example":{"status":404,"message":"No available results for request"}}},"description":"Not found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"example":{"status":500,"message":"Internal Server Error"}}},"description":"Internal Server Error"}},"summary":"Returns estimate dates of an ortho collection","tags":["ortho/dates"]},"post":{"description":"### Introduction\n\nThis service will estimate the collection date for a requested pixel from the ortho imagery. Because ortho imagery is generated by combining many overlapping images it is impossible to know the exact date of collection for a given location. This service will query a point for overlapping nadir images and return the minimum, maximum and estimated date for each pixel.\n\n<ul><li>Minimum - The earliest date of collection for any intersecting nadir image matching the query criteria</li><li>Maximum - The latest date of collection for any intersecting nadir image matching the query criteria</li><li>Estimated - The collection date of the nadir image most centered over the input location and matching the query criteria</li></ul>\n<img src=\"../resources/img/docs/ortho_dates.png\"/>","operationId":"estimateDates_1","requestBody":{"content":{"application/json":{"examples":{"Default request":{"description":"Default request","value":{"layer":"urban","wkt":"POLYGON ((-118.8333997 34.13320667, -118.8333997 34.13400667, -118.83219969999999 34.13400667, -118.83219969999999 34.13320667, -118.8333997 34.13320667))","srid":4326,"collection":"us-ca-santaclarita-2021","collect-year":2021,"min-first-capture-date":"2021-11-15T00:00:00","max-first-capture-date":"2021-11-15T23:59:59","min-last-capture-date":"2021-12-19T00:00:00","max-last-capture-date":"2021-12-19T23:59:59","min-first-publish-date":"2022-01-24T00:00:00","max-first-publish-date":"2022-01-24T23:59:59","min-last-publish-date":"2022-01-24T00:00:00","max-last-publish-date":"2022-01-24T23:59:59"}}},"schema":{"$ref":"#/components/schemas/OrthoDatesRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrthoEstimateDatesResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/OrthoEstimateDatesResponse"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Bad Request"},"401":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unauthorized"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Not Found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Internal Server Error"}},"summary":"Returns estimate dates of an ortho collection","tags":["ortho/dates"]}},"/ortho/events":{"get":{"description":"### Introduction\n\nThis service will return a GeoJSON file containing ortho imagery coverage information for Graysky events from the Vexcel library. The output GeoJSON will contain the geometry of the geographic coverage for the query as well as the associated event information. This service is particularly useful to:\n\n<ul><li>Identify the locations of ortho imagery</li><li>See the full extent of an events ortho coverage</li></ul>\n<img src=\"../resources/img/docs/ortho_events.png\"/>","operationId":"coverage","parameters":[{"description":"The well-known-text (point or polygon) \n\n ⓘ Note: Information is returned only for real-world coordinates; WKTs that extend beyond ±180° longitude are accepted, but results are limited to the portion of the geometry that intersects valid Earth bounds.","in":"query","name":"wkt","required":false,"schema":{"type":"string"}},{"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT","example":4326,"in":"query","name":"srid","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The spatial-query used to specify which collections to select based on their relationship to the user’s input wkt.\n\n**Note**: This parameter will be ignored if:<ul><li>**wkt** is defined as a point or line</li></ul>\n\n<i>Available values</i>: <ul><li>intersect (default): collections must intersect with the input wkt to be returned.</li><li>within-wkt: collections must be completely contained within the input wkt to be returned.</li><li>covers-wkt: collections must cover the input wkt entirely to be returned.</li></ul>","example":"intersect","in":"query","name":"spatial-operation","required":false,"schema":{"type":"string","enum":["intersect","covers-wkt","within-wkt"]}},{"description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas: graysky, graysky-g","example":"graysky","in":"query","name":"layer","required":false,"schema":{"type":"string"}},{"description":"The identifier of the collection which contains the desired data referred to as collection in metadata","in":"query","name":"collection","required":false,"schema":{"type":"string"}},{"description":"The event name of the Graysky collectio event","example":"us-pa-trevose-tornado-2021","in":"query","name":"graysky-event","required":false,"schema":{"type":"string"}},{"description":"The collection year of the tiles expressed with 4 digits","example":2021,"in":"query","name":"collect-year","required":false,"schema":{"type":"integer","format":"int32","minLength":4}},{"description":"The product type of the image returned.The type of ortho product of the image returned. Throughout our production process, we produce several ortho products. This table outlines the current production level indicated by the product-type response value.\n              <table border=\"1\">                <thead>                  <tr>                    <th><b>&nbsp;Production Progression* ↓&nbsp;&nbsp;&nbsp; \\&nbsp;&nbsp;&nbsp; Layer → </b></th>                    <th><b>&nbsp;urban</b></th>                    <th><b>&nbsp;urban-r</b></th>                    <th><b>&nbsp;wide-area</b></th>                    <th><b>&nbsp;graysky<sup>†</sup></b></th>                    <th><b>&nbsp;graysky-g<sup>†</sup></b></th>                    <th><b>&nbsp;urban-g<sup>†</sup></b></th>                  </tr>                </thead>                <tbody>                  <tr>                    <td><b>&nbsp;Imagery Ingested</b></td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Aerial Triangulated and Color Balanced</b></td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;final-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Natively Orthorectified<sup>‡</sup></b></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                  <tr>                    <td><b>&nbsp;Water Edited and Manual Quality Reviewed</b></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                </tbody>              </table>              <br>&nbsp;&nbsp;* <i>The production steps are chronological; each step includes all processes above it.</i>              <br>&nbsp;&nbsp;<sup>†</sup> <i>graysky, graysky-g and urban-g only have first-ortho and quick-ortho statuses. They do not have dxm-ortho or final-ortho. </i>              <br>&nbsp;&nbsp;<sup>‡</sup><i>Native Orthorectification refers to imagery rectified using a DEM generated from the same aerial image collection, ensuring alignment with the terrain as captured.</i>","example":"final-ortho","in":"query","name":"product-type","required":false,"schema":{"type":"string"}},{"description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-01-01T00:00:00","in":"query","name":"min-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-12-31T23:59:59","in":"query","name":"max-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable maxcapturedate. Collections with maxcapturedates prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-01-01T00:00:00","in":"query","name":"min-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable maxcapturedate. Collections with maxcapturedates after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-12-31T23:59:59","in":"query","name":"max-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable firstpublishdate. Collections with firstpublishdate prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-01-01T00:00:01","in":"query","name":"min-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable firstpublishdate. Collections with firstpublishdate after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-12-31T23:59:59","in":"query","name":"max-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable lastpublishdate. Collections with lastpublishdate prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2021-01-01T00:00:00","in":"query","name":"min-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable lastpublishdate. Collections with lastpublishdate after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)","example":"2022-12-31T23:59:59","in":"query","name":"max-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The format language of the metadata response","example":"JSON","in":"query","name":"metadata-format","required":false,"schema":{"type":"string","enum":["json","xml"]}},{"description":"The color bands in which the returned event's ortho must contain.<br><br><i>Available values</i>: <ul><li><b>rgb</b>: (default): Ortho is available in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Ortho is available in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","example":"RGB","in":"query","name":"bands","required":false,"schema":{"type":"string","enum":["rgb","irg"]}},{"description":"Fields to be included on the JSON result, separated by commas. Won't return anything if empty: \nlayer, source-layer, collection, collection-geometry, graysky-event, first-capture-date, last-capture-date,min-gsd, max-gsd, avg-gsd, geometry, first-publish-date, last-publish-date, product-type, pretty-name, max-zoom, camera-technology, area, z-index, bands, event-min-gsd, event-max-gsd, event-area, event-first-capture-date, event-last-capture-date, event-geometry, event-first-publish-date, event-last-publish-date, event-pretty-name, occlusion-estimate, occlusion-score","example":"geometry,product-type,collection,graysky-event","in":"query","name":"include","required":false,"schema":{"type":"string","default":"geometry,product-type,collection,graysky-event"}},{"description":"In the case that more than one event matches the input parameters, <code>order-by</code> will define the method by which the potential events are ordered. This parameter can take multiple values, separated by commas, and will honor them in the order in which they are defined.<br><br><b>Allowed values</b>: <i><code>layer-asc</code>, <code>layer-desc</code>, <code>first-capture-date-asc</code>, <code>first-capture-date-desc</code>, <code>last-capture-date-asc</code>, <code>last-capture-date-desc</code>, <code>first-publish-date-asc</code>, <code>first-publish-date-desc</code>, <code>last-publish-date-asc</code>, <code>last-publish-date-desc</code>, <code>avg-gsd-asc</code>, <code>avg-gsd-desc</code>, <code>area-asc</code>, <code>area-desc</code>, <code>occlusion-estimate-asc</code>, <code>occlusion-estimate-desc</code>, <code>occlusion-score-asc</code>, <code>occlusion-score-desc</code></i><br><br><i><b>Note</b>: <code>layer-asc</code> and <code>layer-desc</code> will respect the order of layers as defined in the <code>layer</code> parameter, if <code>layer</code> is undefined ordering will appear to be random.</i><br><br><i><b>Default value</b>: <code>first-capture-date-desc</code>","example":"first-capture-date-desc, area-desc","in":"query","name":"order-by","required":false,"schema":{"type":"string"}},{"description":"<p>Specifies the maximum number of records to return. This parameter reduce the total number of records matching the query.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>","example":1,"in":"query","name":"total-records","required":false,"schema":{"type":"integer","format":"int32","minimum":1}},{"description":"<p>Specifies the maximum number of records to return on each page of the response, up to a limit of 500. If page-size is omitted or exceeds 500, it defaults to 500. This parameter does not reduce the total number of records matching the query; it only controls how many records are returned per page. Smaller page-size values will result in more pages.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>","example":1,"in":"query","name":"page-size","required":false,"schema":{"type":"integer","format":"int32","default":500,"maximum":500,"minimum":1}},{"description":"<p>Requests that would return more records than allowed by the <code>page-size</code> parameter are paginated. <code>total-records</code> and <code>total-pages</code> are included in the response header for page 1 only; they are not included in subsequent pages. <code>current-page</code> is included on all page headers. The initial request returns page 1 by default; to request page 2, append <code>page=2</code> to the original request (URL or POST body) and resend.</p>\n</br><p><i><b>Note:</b> Only records in the requested pages are reported for billing. For example, if a query contains 2 pages but <code>page=2</code> is never requested, only the records received in page 1 are reported for billing.</i></p>","example":1,"in":"query","name":"page","required":false,"schema":{"type":"integer","format":"int32","minimum":1}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrthoEventResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/OrthoEventResponse"}},"text/plain":{"schema":{"$ref":"#/components/schemas/OrthoEventResponse"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"application/json":{"example":{"status":400,"message":"'Parameter' is mandatory"}}},"description":"Bad Request"},"401":{"content":{"application/json":{}},"description":"Authentication Failure"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"example":{"status":404,"message":"No available results for request"}}},"description":"Not found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"example":{"status":500,"message":"Internal Server Error"}}},"description":"Internal Server Error"}},"summary":"Returns a list of Orthomosaic coverages of graysky events","tags":["ortho/events"]},"post":{"description":"### Introduction\n\nThis service will return a GeoJSON file containing ortho imagery coverage information for Graysky events from the Vexcel library. The output GeoJSON will contain the geometry of the geographic coverage for the query as well as the associated event information. This service is particularly useful to:\n\n<ul><li>Identify the locations of ortho imagery</li><li>See the full extent of an events ortho coverage</li></ul>\n<img src=\"../resources/img/docs/ortho_events.png\"/>","operationId":"coverage_1","requestBody":{"content":{"application/json":{"examples":{"Coverage by wkt 3857":{"description":"Query coverages by wkt","value":{"layer":"graysky","wkt":"POLYGON ((-13228473.54383755 4046702.4825913976, -13228473.54383755 4046810.0725631006, -13228339.960448595 4046810.0725631006, -13228339.960448595 4046702.4825913976, -13228473.54383755 4046702.4825913976))","srid":3857,"orientation":"nadir","include":["geometry","product-type","collection","graysky-event","event-geometry"],"max-records":1}},"Coverage by wkt 4326":{"description":"Query coverages by wkt","value":{"layer":"graysky","wkt":"POLYGON ((-118.8333997 34.13320667, -118.8333997 34.13400667, -118.83219969999999 34.13400667, -118.83219969999999 34.13320667, -118.8333997 34.13320667))","orientation":"nadir","include":["geometry","product-type","collection","graysky-event"],"max-records":1}}},"schema":{"$ref":"#/components/schemas/OrthoEventRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrthoEventResponse"}},"application/xml":{"schema":{"$ref":"#/components/schemas/OrthoEventResponse"}},"text/plain":{"schema":{"$ref":"#/components/schemas/OrthoEventResponse"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"application/json":{"example":{"status":400,"message":"'Parameter' is mandatory"}}},"description":"Bad Request"},"401":{"content":{"application/json":{}},"description":"Authentication Failure"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"example":{"status":404,"message":"No available results for request"}}},"description":"Not found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"example":{"status":500,"message":"Internal Server Error"}}},"description":"Internal Server Error"}},"summary":"Returns a list of Orthomosaic coverages of graysky events","tags":["ortho/events"]}},"/ortho/extract":{"get":{"description":"### Introduction\n\nThis service returns a piece of imagery as a JPG or PNG, cut from the seamless orthomosaic. The same imagery you can access via ortho/tile is used to create the returned image. Ortho/extract saves you the work of making multiple API calls to ortho/tile for individual tiles, stitching them together into a large bitmap, and cropping it to your spec. With a single API call you can get back a static map image matching your specification.\n\n<img src=\"../resources/img/icon/icon-info.png\" width=\"12px\" height=\"12px\"/> Notes on image size limits: <i>(If your requested image exceeds any of these limits, an error will be returned.)</i><br><ul><li><i>An extracted image may not be comprised of more than 1,024 individual tiles (67,108,864 total pixels).</i><ul><li><i>To maximize the imagery returned within one /extract call, your input geometry must precisely align with the Mercator tile grid at the zoom level from which you are requesting. If even a sliver of your input geometry intersects with a tile, that tile will be included in the 1,024 limit.</i></li></ul></li><li><i>Any one image dimension (either width or height) cannot exceed 65,000 pixels.</i></li></ul>\n<img src=\"../resources/img/docs/ortho_extract.png\"/>\n\n### Technical Details\n\nYou can use the ortho/collections service to determine where ortho coverage exists. This allows you to know if a call to ortho/extract will succeed or fail based on image availability.\n\nImage metadata is embedded in the headers of each image file as custom XMP tags. They can be accessed with ExifTool by running this command on the downloaded file: ```exiftool -xmp:all {filename.[jpg|png|tif]}.```\n\n### Use Cases\n\nAll use cases will ensure that imagery will not exceed either 67,108,864 pixels (e.g., 4096 x 16384) or 1,024 tiles.\n\n<ol><li>point wkt + zoom: This is the most common use of the service. Here you pass in a point WKT where the image will be centered and a standard zoom level. You also pass in the desired dimensions of the image you want returned.</li><li>polygon wkt: Here you pass a polygon in the WKT parameter that you want covered by the returned image. The service will calculate the deepest zoom level that covers the polygon with less than the maximum number of tiles (1,024).  The resulting bitmap will be fit to the minimum bounding rectangle (or MBR) for the polygon that was passed in the WKT parameter. Note that the Pixel dimensions of the resulting image are also determined by the service and cannot be specified.</li><li>polygon wkt + zoom: This is very similar to the previous case, but instead of the system selecting the optimal Zoom level, you specify it with the Zoom parameter. This allows you to scale the image.</li></ol>","operationId":"extract","parameters":[{"description":"The name of the desired layer.<br><b>Allowed values</b>: <i>urban, urban-r, urban-g, wide-area, graysky</i>","example":"urban","in":"query","name":"layer","required":true,"schema":{"type":"string"}},{"description":"The well-known-text (WKT) representation of the requested point, line or polygon. If a point is provided then either buffer or bbox-dimensions must also be used. \n\n ⓘ Note: Information is returned only for real-world coordinates; WKTs that extend beyond ±180° longitude are accepted, but results are limited to the portion of the geometry that intersects valid Earth bounds.","example":"POLYGON((-118.4851565613011 34.189917244302386,-118.48416950838362 34.19305882002528,-118.47856905596052 34.1925796041742,-118.478654886649 34.18826653897415,-118.4851565613011 34.189917244302386))","in":"query","name":"wkt","required":true,"schema":{"type":"string"}},{"description":"The spatial reference identification code for the projection representing the coordinates of the given WKT. If undefined, 4326 will be used. Only EPSG is supported.","example":4326,"in":"query","name":"srid","required":false,"schema":{"type":"string","enum":["4326","3857"]}},{"description":"The event name of the Graysky event (e.g. us-fl-ian-hurricane).","in":"query","name":"graysky-event","required":false,"schema":{"type":"string"}},{"description":"The identifier of the AOI (Area of Interest) which contains the desired imagery.","in":"query","name":"collection","required":false,"schema":{"type":"string"}},{"description":"The product type of the image returned.The type of ortho product of the image returned. Throughout our production process, we produce several ortho products. This table outlines the current production level indicated by the product-type response value.\n              <table border=\"1\">                <thead>                  <tr>                    <th><b>&nbsp;Production Progression* ↓&nbsp;&nbsp;&nbsp; \\ &nbsp;&nbsp;&nbsp; Layer → </b></th>                    <th><b>&nbsp;urban</b></th>                    <th><b>&nbsp;urban-r</b></th>                    <th><b>&nbsp;wide-area</b></th>                    <th><b>&nbsp;graysky<sup>†</sup></b></th>                    <th><b>&nbsp;graysky-g<sup>†</sup></b></th>                    <th><b>&nbsp;urban-g<sup>†</sup></b></th>                  </tr>                </thead>                <tbody>                  <tr>                    <td><b>&nbsp;Imagery Ingested</b></td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Aerial Triangulated and Color Balanced</b></td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;final-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Natively Orthorectified<sup>‡</sup></b></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                  <tr>                    <td><b>&nbsp;Water Edited and Manual Quality Reviewed</b></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                </tbody>              </table>              <br>&nbsp;&nbsp;* <i>The production steps are chronological; each step includes all processes above it.</i>              <br>&nbsp;&nbsp;<sup>†</sup> <i>graysky, graysky-g and urban-g only have first-ortho and quick-ortho statuses. They do not have dxm-ortho or final-ortho. </i>              <br>&nbsp;&nbsp;<sup>‡</sup><i>Native Orthorectification refers to imagery rectified using a DEM generated from the same aerial image collection, ensuring alignment with the terrain as captured.</i>","example":"final-ortho","in":"query","name":"product-type","required":false,"schema":{"type":"string"}},{"description":"In the case that more than one image matches the input parameters, <code>order-by</code> will define the method by which the potential images are ordered. This parameter can take multiple values, separated by commas, and will honor them in the order in which they are defined.<br><br><b>Allowed values</b>: <i><code>layer-asc</code>, <code>layer-desc</code>, <code>collection-first-capture-date-asc</code>, <code>collection-first-capture-date-desc</code>, <code>collection-last-capture-date-asc</code>, <code>collection-last-capture-date-desc</code>, <code>collection-first-publish-date-asc</code>, <code>collection-first-publish-date-desc</code>, <code>collection-last-publish-date-asc</code>, <code>collection-last-publish-date-desc</code>, <code>collection-avg-gsd-asc</code>, <code>collection-avg-gsd-desc</code>, <code>collection-area-asc</code>, <code>collection-area-desc</code></i><br><br><i><b>Note</b>: <code>layer-asc</code> and <code>layer-desc</code> will respect the order of layers as defined in the <code>layer</code> parameter, if <code>layer</code> is undefined the default ordering won´t include these values. They can however still be explicitly asked for within <code>order-by</code>, but doing so will cause the ordering to appear to be random.</i><br><br><i>Default value: <code>layer-asc</code>, <code>collection-last-capture-date-desc</code>, <code>image-center-distance-asc</code></i>","example":"layer-asc, collection-last-capture-date-desc, collection-avg-gsd-asc","in":"query","name":"order-by","required":false,"schema":{"type":"string"}},{"description":"The year of collection.","in":"query","name":"collect-year","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded.","in":"query","name":"min-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded.","in":"query","name":"max-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded.","in":"query","name":"min-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded.","in":"query","name":"max-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded.","in":"query","name":"min-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded.","in":"query","name":"max-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded.","in":"query","name":"min-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded.","in":"query","name":"max-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The color bands in which the returned image will be comprised of.<br><br><i>Available values</i>: <ul><li><b>rgb</b> (default): Imagery is returned in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Imagery is returned in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","in":"query","name":"bands","required":false,"schema":{"type":"string","enum":["rgb","irg"]}},{"description":"The tile-level of the requested 'image'","example":19,"in":"query","name":"zoom","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Defines the dimensions (in meters) of the bounding box of the region surrounding your input point wkt. The point will be the center of the bounding box. Defined as bbox-dimensions=width,height.","in":"query","name":"bbox-dimensions","required":false,"schema":{"type":"string"}},{"description":"Defines the pixel dimensions of the output image frame, and how the requested wkt region is mapped into it. The WKT region is always centered within the frame and image resampling will be applied; it’s recommended to omit the zoom parameter when using destination-dimensions.\n\nDefined as destination-dimensions=width,height,fit|fill.<ul><li>fit - the requested wkt region (red) is scaled to fit entirely within the destination-dimensions output frame (yellow). Use the crop parameter to control whether the area outside the WKT but inside the frame is filled with black pixels or additional image pixels.<br><img src=\"../resources/img/docs/extract_fit.png\"/></li><li>fill - the requested wkt region (red) is scaled to entirely fill the output frame (yellow). No pixels outside the WKT will be included, and some pixels within the WKT may be excluded.<br><img src=\"../resources/img/docs/extract_fill.png\"/></li></ul>\n*Note: Example images are from the ortho/extract service and may not reflect exact pixels for this service.*","in":"query","name":"destination-dimensions","required":false,"schema":{"type":"string"}},{"description":"The buffer around the wkt point or polygon (in meters).","in":"query","name":"buffer-meter","required":false,"schema":{"type":"number","format":"double"}},{"description":"The buffer around the wkt point or polygon (in pixels).","in":"query","name":"buffer-pixel","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The method with which to crop the returned images based on the input wkt parameter. Will not work with image-name.","example":"clip","in":"query","name":"crop","required":false,"schema":{"type":"string","enum":["bounding_box","clip"]}},{"description":"The point coordinates at which to draw a crosshair reticle.","example":"POINT(-118.47931037295682 34.189197074793384)","in":"query","name":"crosshair","required":false,"schema":{"type":"string"}},{"description":"The color for the crosshair line.","example":"rgb(255,128,0)","in":"query","name":"crosshair-color","required":false,"schema":{"type":"string","default":"rgb(255,200,0)"}},{"description":"The width of the crosshair line.","example":3,"in":"query","name":"crosshair-line-width","required":false,"schema":{"type":"integer","format":"int32","default":2}},{"description":"Turns off the text overlay displaying copyright and attribution to Vexcel Imaging.","example":true,"in":"query","name":"attribution","required":false,"schema":{"type":"boolean","default":true}},{"description":"The file format of the image. All formats have been compressed with jpeg compression of .95.<br><br><i>Available values</i>: <ul><li><b>jpeg</b>: Most performant, no georeferencing or transparency.</li><li><b>png</b>: No georefrencing, supports transparency.</li><li><b>tiff</b>: Least performant, supports georeferencing and transparency.</li><li><b>jpeg/png</b> (default): Either jpeg or png may be returned. Selected automatically based on the presense of transparent pixels in the source image.</li></ul>","example":"png","in":"query","name":"image-format","required":false,"schema":{"type":"string","default":"jpeg/png"}},{"description":"Additional metadata fields to be included on the exif header. Available fields: ```estimate-date```.","in":"query","name":"include","required":false,"schema":{"type":"string"}},{"description":"Controls whether requests above the collection’s maximum zoom level may return subdivided tiles.\n\nIf true, tiles at the maximum zoom level (e.g., max-zoom=21) can be split and served as higher zoom levels (e.g., 22+). Each interpolated tile contains 256 × 256 pixels, but only the portion derived from the original data (e.g., ¼ of the tile) is counted toward billing and reporting.\n\nIf false, requests above the maximum zoom level will not return tiles.","example":true,"in":"query","name":"interpolation","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"image/jpeg":{"schema":{"type":"string","format":"byte"}},"image/png":{"schema":{"type":"string","format":"byte"}},"image/tiff":{"schema":{"type":"string","format":"byte"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Bad Request"},"401":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unauthorized"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Not Found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Internal Server Error"}},"summary":"Returns an ortho image containing the provided region","tags":["ortho/extract"]},"post":{"description":"### Introduction\n\nThis service returns a piece of imagery as a JPG or PNG, cut from the seamless orthomosaic. The same imagery you can access via ortho/tile is used to create the returned image. Ortho/extract saves you the work of making multiple API calls to ortho/tile for individual tiles, stitching them together into a large bitmap, and cropping it to your spec. With a single API call you can get back a static map image matching your specification.\n\n<img src=\"../resources/img/icon/icon-info.png\" width=\"12px\" height=\"12px\"/> Notes on image size limits: <i>(If your requested image exceeds any of these limits, an error will be returned.)</i><br><ul><li><i>An extracted image may not be comprised of more than 1,024 individual tiles (67,108,864 total pixels).</i><ul><li><i>To maximize the imagery returned within one /extract call, your input geometry must precisely align with the Mercator tile grid at the zoom level from which you are requesting. If even a sliver of your input geometry intersects with a tile, that tile will be included in the 1,024 limit.</i></li></ul></li><li><i>Any one image dimension (either width or height) cannot exceed 65,000 pixels.</i></li></ul>\n<img src=\"../resources/img/docs/ortho_extract.png\"/>\n\n### Technical Details\n\nYou can use the ortho/collections service to determine where ortho coverage exists. This allows you to know if a call to ortho/extract will succeed or fail based on image availability.\n\nImage metadata is embedded in the headers of each image file as custom XMP tags. They can be accessed with ExifTool by running this command on the downloaded file: ```exiftool -xmp:all {filename.[jpg|png|tif]}.```\n\n### Use Cases\n\nAll use cases will ensure that imagery will not exceed either 67,108,864 pixels (e.g., 4096 x 16384) or 1,024 tiles.\n\n<ol><li>point wkt + zoom: This is the most common use of the service. Here you pass in a point WKT where the image will be centered and a standard zoom level. You also pass in the desired dimensions of the image you want returned.</li><li>polygon wkt: Here you pass a polygon in the WKT parameter that you want covered by the returned image. The service will calculate the deepest zoom level that covers the polygon with less than the maximum number of tiles (1,024).  The resulting bitmap will be fit to the minimum bounding rectangle (or MBR) for the polygon that was passed in the WKT parameter. Note that the Pixel dimensions of the resulting image are also determined by the service and cannot be specified.</li><li>polygon wkt + zoom: This is very similar to the previous case, but instead of the system selecting the optimal Zoom level, you specify it with the Zoom parameter. This allows you to scale the image.</li></ol>","operationId":"extract_1","requestBody":{"content":{"application/json":{"examples":{"Default request":{"description":"Default request","value":{"layer":"urban","wkt":"POLYGON((-118.4851565613011 34.189917244302386,-118.48416950838362 34.19305882002528,-118.47856905596052 34.1925796041742,-118.478654886649 34.18826653897415,-118.4851565613011 34.189917244302386))","srid":4326,"bands":"rgb","zoom":19,"crop":"clip","attribution":"true","image-format":"png"}}},"schema":{"$ref":"#/components/schemas/OrthoExtractServiceRequest"}}},"required":true},"responses":{"200":{"content":{"image/jpeg":{"schema":{"type":"string","format":"byte"}},"image/png":{"schema":{"type":"string","format":"byte"}},"image/tiff":{"schema":{"type":"string","format":"byte"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Bad Request"},"401":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unauthorized"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Not Found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Internal Server Error"}},"summary":"Returns an ortho image containing the provided region","tags":["ortho/extract"]}},"/ortho/tile":{"get":{"description":"### Introduction\n\nThis service will take x/y coordinates and deliver one Orthomosaic tile from Vexcel’s high-resolution multi-sensor orthorectified image library. This service is intended for third party mapping applications to display continuous imagery without the need to display large discrete images.\n\n<lu><li>GIS Basemaps</li><li>Feature Digitization (tracing)</li><li>Natural Disaster Assessment</li><li>Accurate true distances and areas</li><li>Urban Change Detection</li></lu>\n<img src=\"../resources/img/docs/ortho_tile.png\"/>\n\n### Technical Details\n\nThe service is accessed by specifying the zoom level and tile coordinates (x,y) according to WMTS (Web Map Tile Service) specifications. The tiles returned will be WMTS-conforming, 256x256 pixels at variable resolution (7.5cm - 20cm) in 24-bit JPEG or 32-bit PNG format. All tiles will align perfectly with other Vexcel data (DSM/DTM tiles, Near-Infrared tiles, etc.) as well as tiled data from other 3rd party WMTS-conforming services.\n\n ℹ️ *Each tile contains the header object cache-control: max-age, set to 21515 seconds or roughly 6 hours. max-age can be used by the end client to reduce the number of times the same tile is downloaded within a single user session.*","operationId":"tile","parameters":[{"description":"The name of the desired layer.<br><b>Allowed values</b>: <i>urban, urban-r, urban-g, wide-area, graysky</i>","example":"urban","in":"query","name":"layer","required":false,"schema":{"type":"string"}},{"description":"The zoom level of the tile (between 0 and 23).","example":17,"in":"query","name":"zoom","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The x coordinate of the tile. (Datum: ITRF2008).","example":22410,"in":"query","name":"tile-x","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The y coordinate of the tile. (Datum: ITRF2008).","example":52267,"in":"query","name":"tile-y","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The event name of the Graysky event (e.g. us-fl-ian-hurricane).","in":"query","name":"graysky-event","required":false,"schema":{"type":"string"}},{"description":"The identifier of the AOI (Area of Interest) which contains the desired imagery.","in":"query","name":"collection","required":false,"schema":{"type":"string"}},{"description":"The product type of the image returned.The type of ortho product of the image returned. Throughout our production process, we produce several ortho products. This table outlines the current production level indicated by the product-type response value.\n              <table border=\"1\">                <thead>                  <tr>                    <th><b>&nbsp;Production Progression* ↓&nbsp;&nbsp;&nbsp; \\ &nbsp;&nbsp;&nbsp; Layer → </b></th>                    <th><b>&nbsp;urban</b></th>                    <th><b>&nbsp;urban-r</b></th>                    <th><b>&nbsp;wide-area</b></th>                    <th><b>&nbsp;graysky<sup>†</sup></b></th>                    <th><b>&nbsp;graysky-g<sup>†</sup></b></th>                    <th><b>&nbsp;urban-g<sup>†</sup></b></th>                  </tr>                </thead>                <tbody>                  <tr>                    <td><b>&nbsp;Imagery Ingested</b></td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                    <td>&nbsp;first-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Aerial Triangulated and Color Balanced</b></td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;final-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                    <td>&nbsp;quick-ortho</td>                  </tr>                  <tr>                    <td><b>&nbsp;Natively Orthorectified<sup>‡</sup></b></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td>&nbsp;dxm-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                  <tr>                    <td><b>&nbsp;Water Edited and Manual Quality Reviewed</b></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td>&nbsp;final-ortho</td>                    <td></td>                    <td></td>                    <td></td>                  </tr>                </tbody>              </table>              <br>&nbsp;&nbsp;* <i>The production steps are chronological; each step includes all processes above it.</i>              <br>&nbsp;&nbsp;<sup>†</sup> <i>graysky, graysky-g and urban-g only have first-ortho and quick-ortho statuses. They do not have dxm-ortho or final-ortho. </i>              <br>&nbsp;&nbsp;<sup>‡</sup><i>Native Orthorectification refers to imagery rectified using a DEM generated from the same aerial image collection, ensuring alignment with the terrain as captured.</i>","example":"final-ortho","in":"query","name":"product-type","required":false,"schema":{"type":"string"}},{"description":"In the case that more than one tile matches the input parameters, <code>order-by</code> will define the method by which the potential tiles are ordered. This parameter can take multiple values, separated by commas, and will honor them in the order in which they are defined.<br><br><b>Allowed values</b>: <i><code>layer-asc</code>, <code>layer-desc</code>, <code>collection-first-capture-date-asc</code>, <code>collection-first-capture-date-desc</code>, <code>collection-last-capture-date-asc</code>, <code>collection-last-capture-date-desc</code>, <code>collection-first-publish-date-asc</code>, <code>collection-first-publish-date-desc</code>, <code>collection-last-publish-date-asc</code>, <code>collection-last-publish-date-desc</code>, <code>collection-avg-gsd-asc</code>, <code>collection-avg-gsd-desc</code>, <code>collection-area-asc</code>, <code>collection-area-desc</code></i><br><br><i><b>Note</b>: <code>layer-asc</code> and <code>layer-desc</code> will respect the order of layers as defined in the <code>layer</code> parameter, if <code>layer</code> is undefined the default ordering won´t include these values. They can however still be explicitly asked for within <code>order-by</code>, but doing so will cause the ordering to appear to be random.</i><br><br><i>Default value: <code>layer-asc</code>, <code>collection-last-capture-date-desc</code>, <code>image-center-distance-asc</code></i>","example":"layer-asc, collection-last-capture-date-desc, collection-avg-gsd-asc","in":"query","name":"order-by","required":false,"schema":{"type":"string"}},{"description":"The year of collection.","in":"query","name":"collect-year","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded.","in":"query","name":"min-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded.","in":"query","name":"max-first-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded.","in":"query","name":"min-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded.","in":"query","name":"max-last-capture-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded.","in":"query","name":"min-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded.","in":"query","name":"max-first-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded.","in":"query","name":"min-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded.","in":"query","name":"max-last-publish-date","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"The color bands in which the returned image will be comprised of.<br><br><i>Available values</i>: <ul><li><b>rgb</b> (default): Imagery is returned in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Imagery is returned in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","in":"query","name":"bands","required":false,"schema":{"type":"string","enum":["rgb","irg"]}},{"description":"The file format of the image. All formats have been compressed with jpeg compression of .95.<br><br><i>Available values</i>: <ul><li><b>jpeg</b>: Most performant, no georeferencing or transparency.</li><li><b>png</b>: No georefrencing, supports transparency.</li><li><b>tiff</b>: Least performant, supports georeferencing and transparency.</li><li><b>jpeg/png</b> (default): Either jpeg or png may be returned. Selected automatically based on the presense of transparent pixels in the source image.</li></ul>","example":"jpeg/png","in":"query","name":"image-format","required":false,"schema":{"type":"string","default":"jpeg/png"}},{"description":"Defines the error-handling method when a tile is unable to be returned and no filtering parameters<sup><b>&#x0204e;</b></sup> were used.<br><br><i>Available values</i>: <ul><li><b>404</b> (default): \"message\": \"No image matching the provided parameters found\"</li><li><b>204</b>: \"message\": \"The operation was successful, but no image is available\"</li></ul><i><sup><b>&#x0204e;</b></sup> Filtering parameters: collection, graysky-event, collect-year, min-first-capture-date, min-first-publish-date, min-last-capture-date, min-last-publish-date, max-first-capture-date, max-first-publish-date, max-last-capture-date, or max-last-publish-date","example":204,"in":"query","name":"no-content","required":false,"schema":{"type":"string","enum":["204","404"]}},{"description":"Controls whether requests above the collection’s maximum zoom level may return subdivided tiles.\n\nIf true, tiles at the maximum zoom level (e.g., max-zoom=21) can be split and served as higher zoom levels (e.g., 22+). Each interpolated tile contains 256 × 256 pixels, but only the portion derived from the original data (e.g., ¼ of the tile) is counted toward billing and reporting.\n\nIf false, requests above the maximum zoom level will not return tiles.","example":true,"in":"query","name":"interpolation","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"content":{"image/jpeg":{"schema":{"type":"string","format":"byte"}},"image/png":{"schema":{"type":"string","format":"byte"}},"image/tiff":{"schema":{"type":"string","format":"byte"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Bad Request"},"401":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unauthorized"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Not Found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Internal Server Error"}},"summary":"Returns an ortho image containing the provided tile","tags":["ortho/tile"]},"post":{"description":"### Introduction\n\nThis service will take x/y coordinates and deliver one Orthomosaic tile from Vexcel’s high-resolution multi-sensor orthorectified image library. This service is intended for third party mapping applications to display continuous imagery without the need to display large discrete images.\n\n<lu><li>GIS Basemaps</li><li>Feature Digitization (tracing)</li><li>Natural Disaster Assessment</li><li>Accurate true distances and areas</li><li>Urban Change Detection</li></lu>\n<img src=\"../resources/img/docs/ortho_tile.png\"/>\n\n### Technical Details\n\nThe service is accessed by specifying the zoom level and tile coordinates (x,y) according to WMTS (Web Map Tile Service) specifications. The tiles returned will be WMTS-conforming, 256x256 pixels at variable resolution (7.5cm - 20cm) in 24-bit JPEG or 32-bit PNG format. All tiles will align perfectly with other Vexcel data (DSM/DTM tiles, Near-Infrared tiles, etc.) as well as tiled data from other 3rd party WMTS-conforming services.\n\n ℹ️ *Each tile contains the header object cache-control: max-age, set to 21515 seconds or roughly 6 hours. max-age can be used by the end client to reduce the number of times the same tile is downloaded within a single user session.*","operationId":"tile_1","requestBody":{"content":{"application/json":{"examples":{"Default request":{"description":"Default request","value":{"layer":"urban","zoom":17,"tile-x":22410,"tile-y":52267}}},"schema":{"$ref":"#/components/schemas/OrthoTileServiceRequest"}}},"required":true},"responses":{"200":{"content":{"image/jpeg":{"schema":{"type":"string","format":"byte"}},"image/png":{"schema":{"type":"string","format":"byte"}},"image/tiff":{"schema":{"type":"string","format":"byte"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"application/json":{"example":{"status":400,"message":"'Parameter' is mandatory"}}},"description":"Bad Request"},"401":{"content":{"application/json":{}},"description":"Authentication Failure"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"example":{"status":404,"message":"No available results for request"}}},"description":"Not found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"application/json":{"example":{"status":500,"message":"Internal Server Error"}}},"description":"Internal Server Error"}},"summary":"Returns an ortho image containing the provided tile","tags":["ortho/tile"]}},"/ortho/wmts":{"get":{"description":"### Introduction\n\nThe WebMapTileService (WMTS) allows users to display Vexcel’s Ortho imagery from multiple layers in third party applications such as ArcGIS, QGIS, Global Mapper, etc. This service is based on the WMTS protocol as developed and documented by the Open Geospatial Consortium\n\n ℹ️ *This service is similar to the ortho/tile service. While both return tiled imagery, WebMapTileService uses the standardized parameters (defined by the Open Geospatial Consortium) while GetOrthoImageTile uses custom parameters specific to Vexcel’s imagery.*\n\n<img src=\"../resources/img/docs/ortho_wmts.png\"/>\n\n### Technical Details\n\nThe WebMapTileService is comprised of two operations, defined by the *request* parameter:\n<ul><li>GetCapabilities - Returns an XML document that outlines the available resources and requirements of the WMTS service. Contains:<ul><li>xml file</li><li>service description</li><li>available layers</li><li>image/metadata formats</li><li>matrix sets (EPSG codes)</li><li>etc</li></ul></li><li>GetTile - Returns individual imagery tiles that conform to the WMTS specifications.<ul><li>256x256 pixel tiles</li><li>24-bit depth</li><li>Variable resolution (layer dependent)</li><li>Image format: JPEG or PNG</li><li>Output format: Single image file</li></ul></li></ul>","operationId":"wmts","parameters":[{"description":"service called (has to be WMTS)","example":"WMTS","in":"query","name":"service","required":true,"schema":{"type":"string"}},{"description":"request called (getCapabilities/getTile)","example":"getTile","in":"query","name":"request","required":true,"schema":{"type":"string"}},{"description":"The name of the desired layer.<br><b>Allowed values</b>: <i>urban, urban-r, wide-area, urban-g, graysky</i>","example":"wide-area","in":"query","name":"layer","required":false,"schema":{"type":"string"}},{"description":"Channel rendering the image (getTile)","example":"RGB","in":"query","name":"style","required":false,"schema":{"type":"string"}},{"description":"Identifier of the image's tile matrix set (usually the srid) (getTile)","example":"EPSG_3857","in":"query","name":"tileMatrixSet","required":false,"schema":{"type":"string"}},{"description":"The identifier of the image's tile matrix (usually the zoom) (getTile)","example":19,"in":"query","name":"tileMatrix","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The number of the image's row (getTile)","example":209201,"in":"query","name":"tileRow","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The number of the image's column (getTile)","example":89080,"in":"query","name":"tileCol","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"The file format of the image.","example":"jpeg/png","in":"query","name":"format","required":false,"schema":{"type":"string","enum":["jpeg","png","tiff","jpeg/png"]}}],"responses":{"200":{"content":{"*/*":{"schema":{"type":"string"}}},"description":"OK"},"204":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"No Content"},"400":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Bad Request"},"401":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unauthorized"},"403":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Forbidden"},"404":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Not Found"},"422":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Unprocessable Entity"},"429":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Too Many Requests"},"500":{"content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExceptionResponse"}}},"description":"Internal Server Error"}},"summary":"WMTS get Capabilities / get Tile","tags":["ortho/wmts"]}}},"components":{"schemas":{"ExceptionResponse":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"integer","format":"int32"}}},"OrthoCollectionRequest":{"type":"object","properties":{"band":{"type":"string","enum":["all","rgb","irg"]},"bands":{"type":"string","default":"rgb","description":"The color bands in which the returned collection's ortho must contain.<br><br><i>Available values</i>: <ul><li><b>rgb</b>: (default): Ortho is available in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Ortho is available in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","enum":["rgb","irg"]},"collect-year":{"type":"integer","format":"int32","description":"The collection year of the tiles expressed with 4 digits","minLength":4},"collection":{"type":"string","description":"The identifier of the collection which contains the desired data referred to as collection in metadata"},"graysky-event":{"type":"string","description":"The event name of the Graysky collection event"},"include":{"type":"string","default":"collection, product-type, graysky-event, geometry","description":"Fields to be included on the JSON result, separated by commas. Won't return anything if empty:\nDefault values: geometry,product-type,collection,graysky-event\nAccepted values: layer, collection, graysky-event, first-capture-date, last-capture-date,min-gsd, max-gsd, avg-gsd, geometry, first-publish-date,\nlast-publish-date, product-type, pretty-name, max-zoom, camera-technology, area, z-index","enum":["layer","collection","graysky-event","first-capture-date","last-capture-date","min-gsd","max-gsd","geometry","first-publish-date","last-publish-date","product-type","pretty-name","max-zoom","camera-technology","area","z-index"]},"layer":{"type":"string","description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas:<br><br><i>Available values</i>: urban, urban-r, urban-g, wide-area, graysky, graysky-g","enum":["urban","urban-r","urban-g","wide-area","graysky","graysky-g"]},"max-first-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-first-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"metadata-format":{"type":"string","default":"json","description":"The format language of the metadata response:<br><br><i>Default Value</i>: json<br><i>Available values</i>: json, xml","enum":["json","xml"]},"min-first-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"ogcfeatureId":{"type":"string","writeOnly":true},"order-by":{"type":"string","default":"default","description":"The method by which to order the coverages. ```layer``` value will order the results by the order provided in the layer parameter","enum":["default","first-capture-date-asc","first-capture-date-desc","last-capture-date-asc","last-capture-date-desc","first-publish-date-asc","first-publish-date-desc","last-publish-date-asc","last-publish-date-desc","avg-gsd-asc","avg-gsd-desc","area-asc","area-desc","occlusion-estimate-asc","occlusion-estimate-desc","occlusion-score-asc","occlusion-score-desc","layer-asc","layer-desc"]},"page":{"type":"integer","format":"int32","default":1,"description":"<p>Requests that would return more records than allowed by the <code>page-size</code> parameter are paginated. <code>total-records</code> and <code>total-pages</code> are included in the response header for page 1 only; they are not included in subsequent pages. <code>current-page</code> is included on all page headers. The initial request returns page 1 by default; to request page 2, append <code>page=2</code> to the original request (URL or POST body) and resend.</p>\n</br><p><i><b>Note:</b> Only records in the requested pages are reported for billing. For example, if a query contains 2 pages but <code>page=2</code> is never requested, only the records received in page 1 are reported for billing.</i></p>","minimum":1},"page-size":{"type":"integer","format":"int32","default":500,"description":"<p>Specifies the maximum number of records to return on each page of the response, up to a limit of 500. If page-size is omitted or exceeds 500, it defaults to 500. This parameter does not reduce the total number of records matching the query; it only controls how many records are returned per page. Smaller page-size values will result in more pages.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>","maximum":500,"minimum":1},"product-type":{"type":"array","description":"The product type of the image returned.\n<i>Available values</i><ul><li><b>first-ortho</b> - Produced after ingest of all oriented images (nadirs and/or obliques). Orthorectified with 3rd-party DTM.<ul><li><i>No:</i> aerial triangulation, color balancing, seamline edits, native orthorectification, water edits or final quality review.</li></ul></li><li><b>quick-ortho</b> Produced after completion of all oriented image post-processing (nadirs and/or obliques). Orthorectified with 3rd party DTM.<ul><li><i>Yes:</i>aerial triangulation and color balancing</li><li><i>No:</i>seamline edits, native orthorectification, water edits or final quality review</li><li>ⓘ<i> Final status for urban-g, graysky-g and graysky layers</i></li></ul></li><li><b>fast-ortho</b> - Produced after seamline edits are applied to the quick-ortho. Orthorectified with 3rd party DTM. <ul><li><i>Yes:</i>aerial triangulation, color balancing and seamline edits</li><li><i>No:</i>native orthorectification or water edits or final quality review</li><li>ⓘ<i> Final status for urban-r layers</i></li></ul></li><li><b>dxm-ortho</b> - Produced after all DSM and/or DTM have been generated. Orthorectified using native DSM/DTM. <ul><li><i>Yes:</i>aerial triangulation, color balancing, seamline edits and native orthorectification</li><li><i>No:</i>water edits or final quality review</li></ul></li><li><b>final-ortho</b> - Produced after water editing and final quality review. Orthorectified using native DSM/DTM.<ul><li><i>Yes:</i>aerial triangulation, color balancing, seamline edits, native orthorectification, water edits and final quality control.</li><li>ⓘ<i> Final status for urban and wide layers</i></li></ul></li></ul>","items":{"type":"string","enum":["oblique-north","oblique-south","oblique-east","oblique-west","I","nadir","draft-ortho","quick-ortho","spherical-ortho","raw-ortho","first-ortho","dtm","dsm","public-dtm-1m","public-dtm-10m","public-dtm-30m","3d","vector","properties","vexcel-properties","damages","masks","embedding"]}},"spatial-operation":{"type":"string","default":"intersect","description":"The spatial-query specifies the coverage requirement over the input wkt polygon in order to return data. WKT points and lines will always use intersect and image-name in case is accepted by the service will ignore this parameter<br><br><i>Available values</i>: <ul><li>intersect: Data intersecting the input wkt will be considered</li><li>covers-wkt: only for data completely contained within the input wkt will be considered</li><li>within-wkt (default): only for data completely containing the input wkt</li></ul>","enum":["intersect","covers-wkt","within-wkt"]},"srid":{"type":"integer","format":"int32","default":4326,"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT"},"total-records":{"type":"integer","format":"int32","description":"<p>Specifies the maximum number of records to return. This parameter reduce the total number of records matching the query.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>"},"wkt":{"type":"string","description":"The well-known-text (point or polygon)"}}},"OrthoCollectionResponse":{"type":"object","properties":{"features":{"type":"array","items":{"type":"object","properties":{"geometry":{"type":"object","properties":{"coordinates":{"type":"array","items":{"type":"object","format":"double"}},"type":{"type":"string","example":"Geometry"}}},"properties":{"type":"object","properties":{"archived":{"type":"object","description":"Indicates whether the {image, dsm, dtm, element, collection, etc} has been archived. Archived images are not accessible via the API"},"area":{"type":"object","format":"double","description":" The geographic surface area of the collection in square kilometers (km2)."},"avg-gsd":{"type":"object","format":"double","description":"The average Ground Sample Distance (GSD) of the imagery at the time of collection in meters-per-pixel. "},"bands":{"type":"object","description":"The spectral band combination used in the imagery. \n\nAvailable options: \n\nrgb: red, green, blue\n\nirg: infrared, red, green (color shifted into an rgb display channel)"},"camera-technology":{"type":"object","description":"Specifies the make, model and version of the camera system used to capture the imagery."},"capture-date":{"type":"object","format":"date-time","description":"The UTC date-time the imagery was captured in ISO 8601 format: YYYY-MM-DDTHH:mm:ss"},"capture-year":{"type":"object","description":"The four-digit year in which the imagery was captured."},"collection":{"type":"object","description":"The name of the geographic area captured through one or more flight missions and processed as a single unit."},"first-capture-date":{"type":"object","format":"date-time","description":"The date-time of the earliest imagery capture in a collection in ISO 8601 format: YYYY-MM-DDTHH:mm:ss."},"first-publish-date":{"type":"object","format":"date-time","description":"The date-time of the earliest publication of a collection in ISO 8601 format: YYYY-MM-DDTHH:mm:ss."},"geometry":{"type":"object"},"graysky-event":{"type":"object","description":"The name of a larger imagery response effort conducted after a significant weather event (e.g. hurricane, tornado, wildfire, etc.), encompassing one or more related collections."},"graysky-event-pretty-name":{"type":"object","description":"A human-readable label for the graysky-event, suitable for display in user interfaces."},"last-capture-date":{"type":"object","format":"date-time","description":"The date-time of the last imagery capture in a collection in ISO 8601 format: YYYY-MM-DDTHH:mm:ss."},"last-publish-date":{"type":"object","format":"date-time","description":"The date-time of the latest publication of a collection in ISO 8601 format: YYYY-MM-DDTHH:mm:ss."},"layer":{"type":"object","description":"The name of the layer or virtual layer specified in the user’s request."},"max-gsd":{"type":"object","format":"double","description":"The largest Ground Sample Distance (GSD) of the imagery at the time of collection in meters per pixel. "},"max-zoom":{"type":"object","description":"The maximum supported zoom level for the tiles within the collection."},"min-gsd":{"type":"object","format":"double","description":"The smallest Ground Sample Distance (GSD) of the imagery at the time of collection in meters per pixel."},"occluded-properties-count":{"type":"object","description":"The number of properties (parcels) within the collection with an occlusion-score above a predefined threshold."},"occlusion-estimate":{"type":"object","format":"double","description":"A human-generated estimate of the visual occlusion present in the graysky imagery collection, expressed as a value between 0 and 1, where:\n\n0 = completely clear imagery (no occlusion)\n\n1 = fully occluded imagery (unusable or fully obscured)\nThis metric accounts for obstructions such as cloud cover, smoke, haze, or other visibility issues."},"occlusion-score":{"type":"object","format":"double","description":"A histoscore-based programmatic calculation of the visual occlusion present in the graysky imagery collection, expressed as a value between 0 and 1, where:\n\n0 = completely clear imagery (no occlusion)\n\n1 = fully occluded imagery (unusable or fully obscured)\n\nThis metric accounts for obstructions such as cloud cover, smoke, haze, or other visibility issues."},"pretty-name":{"type":"object","description":"A human-readable label for the collection, suitable for display in user interfaces."},"product-type":{"type":"object","description":"The category of the product delivered. This field distinguishes between different types of imagery products such as dsm, dtm, ortho, oblique, nadir, elements, etc. "},"properties-count":{"type":"object","description":"The total number of properties (parcels) contained within the boundary of the collection. This value represents the full set of properties evaluated, regardless of imagery quality or occlusio-score/occlusion-estimate."},"source-layer":{"type":"object","description":"Identifies the imagery product type under which the imagery was collected.\n\nStandard Layers:\n\nurban \n\nurban-r\n\nurban-g\n\nwide-area\n\ngraysky\n\ngraysky-g"},"z-index":{"type":"object","description":"The stacking order of collections when multiple collections layers overlap."}}},"type":{"type":"string","example":"Feature"}}}},"type":{"type":"string","example":"FeatureCollection"}}},"OrthoDatesRequest":{"type":"object","properties":{"collect-year":{"type":"integer","format":"int32","description":"The collection year of the tiles expressed with 4 digits","minLength":4},"collection":{"type":"string","description":"The identifier of the collection which contains the desired data referred to as collection in metadata"},"coverageType":{"type":"array","items":{"type":"string","enum":["oblique-north","oblique-south","oblique-east","oblique-west","I","nadir","draft-ortho","quick-ortho","spherical-ortho","raw-ortho","first-ortho","dtm","dsm","public-dtm-1m","public-dtm-10m","public-dtm-30m","3d","vector","properties","vexcel-properties","damages","masks","embedding"]}},"layer":{"type":"string","description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas:<br><br><i>Available values</i>: urban, urban-r, urban-g, wide-area, graysky, graysky-g","enum":["urban","urban-r","urban-g","wide-area","graysky","graysky-g"]},"max-first-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-first-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"srid":{"type":"integer","format":"int32","default":4326,"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT"},"wkt":{"type":"string","description":"The well-known-text (point or polygon)"}}},"OrthoEstimateDatesResponse":{"type":"object","properties":{"collection":{"type":"string"},"estimate-date":{"type":"string","format":"date-time"},"first-capture-date":{"type":"string","format":"date-time"},"last-capture-date":{"type":"string","format":"date-time"}}},"OrthoEventRequest":{"type":"object","properties":{"band":{"type":"string","enum":["all","rgb","irg"]},"bands":{"type":"string","default":"rgb","description":"The color bands in which the returned event's ortho must contain.<br><br><i>Available values</i>: <ul><li><b>rgb</b>: (default): Ortho is available in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Ortho is available in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","enum":["rgb","irg"]},"collect-year":{"type":"integer","format":"int32","description":"The collection year of the tiles expressed with 4 digits","minLength":4},"collection":{"type":"string","description":"The identifier of the collection which contains the desired data referred to as collection in metadata"},"graysky-event":{"type":"string","description":"The event name of the Graysky collection event"},"include":{"type":"string","default":"image-name, geometry","description":"Fields to be included on the JSON result, separated by commas. Won't return anything if empty:\nDefault values: geometry,product-type,collection,graysky-event\nAccepted values: layer, collection, graysky-event, first-capture-date, last-capture-date,min-gsd, max-gsd, avg-gsd, geometry, first-publish-date, \nlast-publish-date, product-type, pretty-name, max-zoom, camera-technology, area, z-index, \nevent-min-gsd, event-max-gsd, event-area, event-first-capture-date, event-last-capture-date, event-geometry,\nevent-first-publish-date,event-last-publish-date,event-pretty-name","enum":["layer","collection","graysky-event","first-capture-date","last-capture-date","min-gsd","max-gsd","geometry","first-publish-date","last-publish-date","product-type","pretty-name","max-zoom","camera-technology","area","z-index","event-min-gsd","event-max-gsd","event-area","event-first-capture-date","event-last-capture-date","event-geometry","event-first-publish-date","event-last-publish-date","event-pretty-name"]},"layer":{"type":"string","description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas:<br><br><i>Available values</i>: urban, urban-r, urban-g, wide-area, graysky, graysky-g","enum":["urban","urban-r","urban-g","wide-area","graysky","graysky-g"]},"max-first-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-first-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"metadata-format":{"type":"string","default":"json","description":"The format language of the metadata response:<br><br><i>Default Value</i>: json<br><i>Available values</i>: json, xml","enum":["json","xml"]},"min-first-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"ogcfeatureId":{"type":"string","writeOnly":true},"order-by":{"type":"string","default":"default","description":"The method by which to order the coverages. ```layer``` value will order the results by the order provided in the layer parameter","enum":["default","first-capture-date-asc","first-capture-date-desc","last-capture-date-asc","last-capture-date-desc","first-publish-date-asc","first-publish-date-desc","last-publish-date-asc","last-publish-date-desc","avg-gsd-asc","avg-gsd-desc","area-asc","area-desc","occlusion-estimate-asc","occlusion-estimate-desc","occlusion-score-asc","occlusion-score-desc","layer-asc","layer-desc"]},"page":{"type":"integer","format":"int32","default":1,"description":"<p>Requests that would return more records than allowed by the <code>page-size</code> parameter are paginated. <code>total-records</code> and <code>total-pages</code> are included in the response header for page 1 only; they are not included in subsequent pages. <code>current-page</code> is included on all page headers. The initial request returns page 1 by default; to request page 2, append <code>page=2</code> to the original request (URL or POST body) and resend.</p>\n</br><p><i><b>Note:</b> Only records in the requested pages are reported for billing. For example, if a query contains 2 pages but <code>page=2</code> is never requested, only the records received in page 1 are reported for billing.</i></p>","minimum":1},"page-size":{"type":"integer","format":"int32","default":500,"description":"<p>Specifies the maximum number of records to return on each page of the response, up to a limit of 500. If page-size is omitted or exceeds 500, it defaults to 500. This parameter does not reduce the total number of records matching the query; it only controls how many records are returned per page. Smaller page-size values will result in more pages.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>","maximum":500,"minimum":1},"product-type":{"type":"array","description":"The product type of the image returned.\n<i>Available values</i><ul><li><b>first-ortho</b> - Produced after ingest of all oriented images (nadirs and/or obliques). Orthorectified with 3rd-party DTM.<ul><li><i>No:</i> aerial triangulation, color balancing, seamline edits, native orthorectification, water edits or final quality review.</li></ul></li><li><b>quick-ortho</b> Produced after completion of all oriented image post-processing (nadirs and/or obliques). Orthorectified with 3rd party DTM.<ul><li><i>Yes:</i>aerial triangulation and color balancing</li><li><i>No:</i>seamline edits, native orthorectification, water edits or final quality review</li><li>ⓘ<i> Final status for urban-g, graysky-g and graysky layers</i></li></ul></li><li><b>fast-ortho</b> - Produced after seamline edits are applied to the quick-ortho. Orthorectified with 3rd party DTM. <ul><li><i>Yes:</i>aerial triangulation, color balancing and seamline edits</li><li><i>No:</i>native orthorectification or water edits or final quality review</li><li>ⓘ<i> Final status for urban-r layers</i></li></ul></li><li><b>dxm-ortho</b> - Produced after all DSM and/or DTM have been generated. Orthorectified using native DSM/DTM. <ul><li><i>Yes:</i>aerial triangulation, color balancing, seamline edits and native orthorectification</li><li><i>No:</i>water edits or final quality review</li></ul></li><li><b>final-ortho</b> - Produced after water editing and final quality review. Orthorectified using native DSM/DTM.<ul><li><i>Yes:</i>aerial triangulation, color balancing, seamline edits, native orthorectification, water edits and final quality control.</li><li>ⓘ<i> Final status for urban and wide layers</i></li></ul></li></ul>","items":{"type":"string","enum":["oblique-north","oblique-south","oblique-east","oblique-west","I","nadir","draft-ortho","quick-ortho","spherical-ortho","raw-ortho","first-ortho","dtm","dsm","public-dtm-1m","public-dtm-10m","public-dtm-30m","3d","vector","properties","vexcel-properties","damages","masks","embedding"]}},"spatial-operation":{"type":"string","default":"intersect","description":"The spatial-query specifies the coverage requirement over the input wkt polygon in order to return data. WKT points and lines will always use intersect and image-name in case is accepted by the service will ignore this parameter<br><br><i>Available values</i>: <ul><li>intersect: Data intersecting the input wkt will be considered</li><li>covers-wkt: only for data completely contained within the input wkt will be considered</li><li>within-wkt (default): only for data completely containing the input wkt</li></ul>","enum":["intersect","covers-wkt","within-wkt"]},"srid":{"type":"integer","format":"int32","default":4326,"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT"},"total-records":{"type":"integer","format":"int32","description":"<p>Specifies the maximum number of records to return. This parameter reduce the total number of records matching the query.</p>\n</br><p><i><b>Note:</b> This parameter is useful to prevent unexpectedly large billable requests or to improve response times.</i></p>"},"wkt":{"type":"string","description":"The well-known-text (point or polygon)"}}},"OrthoEventResponse":{"type":"object","properties":{"features":{"type":"array","items":{"type":"object","properties":{"geometry":{"type":"object","properties":{"coordinates":{"type":"array","items":{"type":"object","format":"double"}},"type":{"type":"string","example":"Geometry"}}},"properties":{"type":"object","properties":{"area":{"type":"object","format":"double"},"collections":{"type":"array","items":{"type":"object","properties":{"archived":{"type":"object"},"area":{"type":"object","format":"double"},"avg-gsd":{"type":"object","format":"double"},"bands":{"type":"object"},"camera-technology":{"type":"array","items":{"type":"string"}},"capture-date":{"type":"object","format":"date-time"},"capture-year":{"type":"object"},"collection":{"type":"object"},"coverage":{"type":"object","properties":{"coordinates":{"type":"array","items":{"type":"object","format":"double"}},"type":{"type":"string","example":"Geometry"}}},"event-id-event":{"type":"object","format":"double"},"first-capture-date":{"type":"object","format":"date-time"},"first-publish-date":{"type":"object","format":"date-time"},"geometry":{"type":"object"},"graysky-event":{"type":"object"},"graysky-event-pretty-name":{"type":"object"},"last-capture-date":{"type":"object","format":"date-time"},"last-publish-date":{"type":"object","format":"date-time"},"layer":{"type":"object"},"max-gsd":{"type":"object","format":"double"},"max-zoom":{"type":"object"},"min-gsd":{"type":"object","format":"double"},"occluded-properties-count":{"type":"object"},"occlusion-estimate":{"type":"object","format":"double"},"occlusion-score":{"type":"object","format":"double"},"pretty-name":{"type":"object"},"product-type":{"type":"object"},"properties-count":{"type":"object"},"source-layer":{"type":"object"},"z-index":{"type":"object"}}}},"first-capture-date":{"type":"object","format":"date-time"},"first-publish-date":{"type":"object","format":"date-time"},"last-capture-date":{"type":"object","format":"date-time"},"last-publish-date":{"type":"object","format":"date-time"},"max-gsd":{"type":"object","format":"double"},"min-gsd":{"type":"object","format":"double"},"pretty-name":{"type":"object"}}},"type":{"type":"string","example":"Feature"}}}},"type":{"type":"string","example":"FeatureCollection"}}},"OrthoExtractServiceRequest":{"type":"object","properties":{"attribution":{"type":"boolean","description":"Turns off the text overlay displaying copyright and attribution to Vexcel Imaging."},"bands":{"type":"string","default":"rgb","description":"The color bands in which the returned image will be comprised of.<br><br><i>Available values</i>: <ul><li><b>rgb</b> (default): Imagery is returned in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Imagery is returned in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","enum":["rgb","irg"]},"bbox-dimensions":{"type":"string","description":"Defines the dimensions (in meters) of the bounding box of the region surrounding your input point wkt. The point will be the center of the bounding box. Defined as bbox-dimensions=width,height."},"buffer-meter":{"type":"number","format":"double","description":"The buffer around the wkt point or polygon (in meters)."},"buffer-pixel":{"type":"integer","format":"int32","description":"The buffer around the wkt point or polygon (in pixels)."},"collect-year":{"type":"integer","format":"int32","description":"The collection year of the tiles expressed with 4 digits","minLength":4},"collection":{"type":"string","description":"The identifier of the collection which contains the desired data referred to as collection in metadata"},"crop":{"type":"string","description":"The method with which to crop the returned images based on the input wkt parameter.","enum":["bounding_box","clip"]},"crosshair":{"type":"string","description":"The point coordinates in wkt format at which to draw a crosshair reticle."},"crosshair-color":{"type":"string","description":"The color for the crosshair line. With format rgb(value of red, value of green, value of blue). Ex: rgb(255,128,0)"},"crosshair-line-width":{"type":"integer","format":"int32","description":"The width of the crosshair line."},"destination-dimensions":{"type":"string","description":"Defines the dimensions (in pixels) of the output image frame. The requested region (as defined by wkt) will be centered within the image frame with two options fit or fill. Defined as destination-dimensions=width,height,fit|fill. See GET parameters for more details."},"drawing":{"$ref":"#/components/schemas/drawing","description":"list of geometries in {} brackets, separated by comma. With rendering attributes for each wkt."},"graysky-event":{"type":"string","description":"The event name of the Graysky collection event"},"image-format":{"type":"string","default":"jpeg/png","description":"The file format of the image. All formats have been compressed with jpeg compression of .95.<br><br><i>Available values</i>: <ul><li><b>jpeg</b>: Most performant, no georeferencing or transparency.</li><li><b>png</b>: No georefrencing, supports transparency.</li><li><b>tiff</b>: Least performant, supports georeferencing and transparency.</li><li><b>jpeg/png</b> (default): Either jpeg or png may be returned. Selected automatically based on the presense of transparent pixels in the source image.</li></ul>","enum":["jpeg","png","tiff","jpeg/png"]},"include":{"type":"string","description":"Selects which extra metadata fields appear in the xmp metadata of the imagery.","enum":["estimate-date"]},"interpolation":{"type":"boolean","default":false,"description":"Controls whether requests above the collection’s maximum zoom level may return subdivided tiles.\n\nIf true, tiles at the maximum zoom level (e.g., max-zoom=21) can be split and served as higher zoom levels (e.g., 22+). Each interpolated tile contains 256 × 256 pixels, but only the portion derived from the original data (e.g., ¼ of the tile) is counted toward billing and reporting.\n\nIf false, requests above the maximum zoom level will not return tiles."},"layer":{"type":"string","description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas:<br><br><i>Available values</i>: urban, urban-r, urban-g, wide-area, graysky, graysky-g","enum":["urban","urban-r","urban-g","wide-area","graysky","graysky-g"]},"max-first-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-first-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"order-by":{"type":"string","default":"default","description":"The method by which to order the coverages. ```layer``` value will order the results by the order provided in the layer parameter","enum":["first-capture-date-asc","first-capture-date-desc","last-capture-date-asc","last-capture-date-desc","first-publish-date-asc","first-publish-date-desc","last-publish-date-asc","last-publish-date-desc","avg-gsd-asc","avg-gsd-desc","area-asc","area-desc","occlusion-estimate-asc","occlusion-estimate-desc","occlusion-score-asc","occlusion-score-desc","layer-asc","layer-desc"]},"product-type":{"type":"array","items":{"type":"string"},"writeOnly":true},"srid":{"type":"integer","format":"int32","default":4326,"description":"The SRID code for the projection reference representing the coordinates of the given coordinates or WKT"},"wkt":{"type":"string","description":"The well-known-text (point or polygon)"},"zoom":{"type":"integer","format":"int32","description":"The zoom level of the tile (between 0 and 23)."}}},"OrthoTileServiceRequest":{"type":"object","properties":{"bands":{"type":"string","default":"rgb","description":"The color bands in which the returned image will be comprised of.<br><br><i>Available values</i>: <ul><li><b>rgb</b> (default): Imagery is returned in red, green and blue bands. This matches the visible spectrum.</li><li><b>irg</b>: Imagery is returned in infrared, red and green bands. These bands are color-shifted: infrared is displayed as red, red is displayed as green and green is displayed as blue.</li></ul>","enum":["all","rgb","irg"]},"collect-year":{"type":"integer","format":"int32","description":"The collection year of the tiles expressed with 4 digits","minLength":4},"collection":{"type":"string","description":"The identifier of the collection which contains the desired data referred to as collection in metadata"},"graysky-event":{"type":"string","description":"The event name of the Graysky collection event"},"image-format":{"type":"string","default":"jpeg/png","description":"The file format of the image. All formats have been compressed with jpeg compression of .95.<br><br><i>Available values</i>: <ul><li><b>jpeg</b>: Most performant, no georeferencing or transparency.</li><li><b>png</b>: No georefrencing, supports transparency.</li><li><b>tiff</b>: Least performant, supports georeferencing and transparency.</li><li><b>jpeg/png</b> (default): Either jpeg or png may be returned. Selected automatically based on the presense of transparent pixels in the source image.</li></ul>","enum":["jpeg","png","tiff","jpeg/png","b3dm/glb"]},"interpolation":{"type":"boolean","default":false,"description":"Controls whether requests above the collection’s maximum zoom level may return subdivided tiles.\n\nIf true, tiles at the maximum zoom level (e.g., max-zoom=21) can be split and served as higher zoom levels (e.g., 22+). Each interpolated tile contains 256 × 256 pixels, but only the portion derived from the original data (e.g., ¼ of the tile) is counted toward billing and reporting.\n\nIf false, requests above the maximum zoom level will not return tiles."},"layer":{"type":"string","description":"The desired layer. If multiple layers are to be considered, separate the layer names with commas:<br><br><i>Available values</i>: urban, urban-r, urban-g, wide-area, graysky, graysky-g","enum":["urban","urban-r","urban-g","wide-area","graysky","graysky-g"]},"max-first-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first capture date. Collections with first capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-first-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable first publish date. Collections with first publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-capture-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last capture date. Collections with last capture date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"max-last-publish-date":{"type":"string","format":"date-time","description":"The date of the latest acceptable last publish date. Collections with last publish date after to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first capture date. Collections with first capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-first-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable first publish date. Collections with first publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-capture-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last capture date. Collections with last capture date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"min-last-publish-date":{"type":"string","format":"date-time","description":"The date of the earliest acceptable last publish date. Collections with last publish date prior to this date will be excluded. (pattern: yyyy-MM-ddTHH:mm:ss)"},"no-content":{"type":"string","default":"404","description":"Defines the error-handling method when a tile is unable to be returned.<br><br><i>Available values</i>: <ul><li><b>404</b> (default): \"message\": \"No image matching the provided parameters found\"</li><li><b>204</b>: \"message\": \"The operation was successful, but no image is available\"</li></ul>","enum":["204","404"]},"order-by":{"type":"string"},"product-type":{"type":"array","items":{"type":"string"},"writeOnly":true},"tile-x":{"type":"integer","format":"int32","description":"The x coordinate of the tile. (Datum: WGS84)"},"tile-y":{"type":"integer","format":"int32","description":"The y coordinate of the tile. (Datum: WGS84)"},"zoom":{"type":"integer","format":"int32","description":"The zoom level of the tile (between 0 and 23)."}}},"drawing":{"type":"object","description":"list of geometries in {} brackets, separated by comma. With rendering attributes for each wkt.","properties":{"fill-color":{"type":"string","description":"..."},"label":{"type":"string","description":"..."},"label-color":{"type":"string","description":"..."},"label-font":{"type":"string","description":"..."},"label-size":{"type":"number","format":"double","description":"..."},"outline-color":{"type":"string","description":"..."},"outline-width":{"type":"integer","format":"int32","description":"..."},"transparency":{"type":"integer","format":"int32","description":"..."},"wkt":{"type":"string","description":"..."}}}},"securitySchemes":{"Basic":{"description":"Authenticate using a <code>username</code> and <code>password</code>, sent in the <code>Authorization</code> header as a base64-encoded string. \n","scheme":"basic","type":"http"},"Bearer":{"bearerFormat":"JWT","description":"Authenticate using a <code>token</code>, sent in the <code>Authorization</code> header as <code>Bearer {token}</code>","scheme":"bearer","type":"http"},"Cookie":{"description":"Authenticate using a <code>token</code> or <code>api_key</code> stored in a cookie sent with each request.","in":"cookie","name":"X-API-KEY","type":"apiKey"},"Header":{"description":"Authenticate using an <code>api_key</code> sent in the <code>X-API-KEY</code> HTTP header.","in":"header","name":"X-API-KEY","type":"apiKey"},"Parameter-api_key":{"description":"Authenticate using an <code>api_key</code> appended in the <code>api_key</code> parameter in the request URL.","in":"query","name":"api_key","type":"apiKey"},"Parameter-token":{"description":"Authenticate using a <code>token</code> appended in the <code>token</code> parameter in the request URL.","in":"query","name":"token","type":"apiKey"}}}}