{
  "openapi": "3.1.0",
  "info": {
    "title": "Spatial WMTS API",
    "description": "This API supports standard requests using KVP and RESTful encoding to expose named tiles as well as the Simple Profile.\n    <details>\n    <summary>Error Codes</summary>\n    \n  APIs will return the following error codes in case of any error:\n\n| Error Code                 | Description\n|----------------------------|-------------------------------------------------------\n|DIS-1001                    |Invalid token.\n|DIS-1002                    |Not Authorized to access this API.\n|DIS-1003                    |Issue with internal services.\n|DIS-1004                    |Workspace Id is missing from Bearer Token.\n|DIS-1005                    |Rate limit exceeded.\n|DIS-1006                    |Invalid Key secret, unauthorized.\n|DIS-1007                    |API quota has been permanently exhausted. No further requests are allowed.\n|DIS-1008                    |Invalid request ID provided, maximum allowed length is 38 characters.\n|DIS-1009                    |Access blocked due to too many failed attempts. Please try again after sometime.\n|DIS-1010                    |Workspace has been expired.\n</details>\n\n\nThis API supports three request types:\n\n<details>\n<summary>**GetCapabilities**</summary>\n\n**Description**: A GetCapabilities call to a WMTS service returns three types of information: service-level metadata that describes the WMTS service, operations metadata that describes the operations and the encoding that is supported for each operation, and a list of layers and tile matrix sets that a client can request in a GetTile call. The possible request inputs depend on the type of encoding used, Key Value Pair (KVP) or REST.\n\n**Input Parameters**:\n\n| Parameter | Description | Required |\n|-----------|-------------|----------|\n|ACCEPTVERSIONS|Request version. Currently versions 1.0.0 is supported.|NO|\n|SERVICE|Service type. The SERVICE attribute is always set to WMTS.|YES|\n|REQUEST|Request name.|YES|\n\n**Using KVP Encoding**:\n\nThe kvp request parameters are always sent as an HTTP query string. The following is a sample GetCapabilities request:\n\n`{server-url}/v1/spatial/wmts?SERVICE=WMTS&REQUEST=GetCapabilities`\n\n**Using RESTful Encoding**\n\nThe capabilities can be requested by using REST URL. The following is a sample GetCapabilities request:\n\n`{server-url}/v1/spatial/wmts/1.0.0/WMTSCapabilities.xml`\n\n**Output**\n\nAfter a successful GetCapabilities request, the service returns a GetCapabilities response which is a descriptive XML file. The GetCapabilities.xml file contains the information on the services metadata, capabilities, and contents (layers and tile matrix sets).</details>\n\n<details>\n<summary>**GetTile KVP Encoding**</summary>\n\n**Description**: The primary reason to establish a WMTS service is to serve tiles to others who use them in their own applications. Use the GetTile request to obtain tiles from a WMTS server. GetTile requests are always sent as HTTP strings and the response is a map image with well-defined geospatial and dimensional parameters in the image format specified in the request. For the Simple Profile, GetTile requests are supported for Popular Visualization CRS (Spherical or Popular Mercator) and WGS 84, in both cases with coordsys bounds. If WMTS tile caching is enabled, the WMTS service will go to the cache for the tile upon receiving a GetTile request. If the cache does not have the tile then it generates the tile, saves it to the cache, and returns the tile to the client.\n\n**Input Parameters**:\n\n| Parameter | Description | Required |\n|-----------|-------------|----------|\n|VERSION|Request version. WMTS supports version 1.0.0 of the OGC specification.|YES|\n|SERVICE|Service type. This is always WMTS.|YES|\n|REQUEST|Request name. For a GetTile request this is always GetTile.|YES|\n|LAYERS|The layer available when you create a WMTS layer via Data or Repository.|YES|\n|STYLE|Comma-separated list of one rendering style per requested layer. A style is required for each layer requested.|YES|\n|FORMAT|Format of tile image.|YES|\n|TILEMATRIXSET|Tile matrix set to generate tiles for.|YES|\n|TILEMATRIX|An integer value which will be number of levels.|YES|\n|TILEROW|An integer value that specifies the row number of the tile you want.|YES|\n|TILECOL|An integer value that specifies the column number of the tile you want.|YES|\n\nThe request parameters are always sent as an HTTP query string. The following are sample GetTile requests:\n\n**GetTile KVP Request:**\n\n`{server-url}/v1/spatial/wmts?service=WMTS&request=GetTile&version=1.0.0&Layer=fireriskpro&Style=default&Format=image%2Fpng&TileMatrixSet=WorldWebMercatorQuad_0_to_19&TileMatrix=11&TileRow=167&TileCol=395`\n\n**Output**\n\nAfter a successful GetTile request, the service returns a GetTile response that is an image of the tile specified by the parameters in the request.</details>\n\n<details>\n<summary>**GetTile Restful Encoding**</summary>\n\n**Description:** The primary reason to establish a WMTS service is to serve tiles to others who use them in their own applications. Use the GetTile request to obtain tiles from a WMTS server. GetTile requests are always sent as HTTP strings and the response is a map image with well-defined geospatial and dimensional parameters in the image format specified in the request. For the Simple Profile, GetTile requests are supported for Popular Visualization CRS (Spherical or Popular Mercator) and WGS 84, in both cases with coordsys bounds. If WMTS tile caching is enabled, the WMTS service will go to the cache for the tile upon receiving a GetTile request. If the cache does not have the tile then it generates the tile, saves it to the cache, and returns the tile to the client..\n\n**Input Parameters**:\n\n| Parameter | Description | Required |\n|-----------|-------------|----------|\n|VERSION|Request version. Currently versions 1.0.0 is supported.|YES|\n|LAYERS|The layer available when you create a WMTS layer via Data or Repository.|YES|\n|TILEMATRIX|An integer value which will be number of levels.|YES|\n|TILEROW.IMAGE_FORMAT_EXTENSION|An integer value that specifies the row number of the tile you want.|YES|\n|TILECOL|An integer value that specifies the column number of the tile you want.|YES|\n\nThe request parameters are always sent as an HTTP query string. The following are sample GetFeatureInfo requests:\n\n**simpleProfileTile:**\n\n`{server-url}/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/fireriskpro/10/167/395.png`\n\n**default:**\n\n`{server-url}/v1/Spatial/WMTS/1.0.0/default/tiles/{LAYER}/{STYLE}/{TILEMATRIXSET}/{TILEMATRIX}/{TILECOL}/{TILEROW}.{IMAGE_FORMAT_EXTENSION}`\n\n**Output**\nAfter a successful GetTile request, the service returns a GetTile response that is an image of the map specified by the parameters in the request.</details>\n",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.cloud.precisely.com"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Spatial WMTS API"
    }
  ],
  "paths": {
    "/v1/spatial/wmts": {
      "get": {
        "tags": [
          "Spatial WMTS API"
        ],
        "summary": "Handles WMTS requests (GetCapabilities, GetTile(kvp))",
        "operationId": "wmtsRequest",
        "description": "Use the appropriate parameters based on the request type.",
        "parameters": [
          {
            "name": "Service",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "WMTS",
            "description": "Specifies the service type (must be `WMTS`)."
          },
          {
            "name": "Request",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "GetCapabilities",
            "description": "Defines the request type. Available values : GetCapabilities, GetTile"
          },
          {
            "name": "Version",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "1.0.0",
            "description": "WMTS version."
          },
          {
            "name": "Layer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Available layer name via Data or Repository (required for `GetTile`)."
          },
          {
            "name": "Style",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Comma-separated list of one rendering style per requested layer(required for `GetTile`)."
          },
          {
            "name": "TileMatrixSet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Tile matrix set to generate tiles for(required for `GetTile`)."
          },
          {
            "name": "TileMatrix",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "An integer value which will be number of levels or zoom level(required for `GetTile`)."
          },
          {
            "name": "TileRow",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "description": "An integer value that specifies the row number of the tile you want (required for `GetTile`)."
          },
          {
            "name": "TileCol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "description": "An integer value that specifies the column number of the tile you want (required for `GetTile`)."
          },
          {
            "name": "Format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The format in which the map image is to be returned(required for `GetTile`)."
          }
        ],
        "responses": {
          "200": {
            "description": "Tile image returned successfully.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Capabilities"
                },
                "examples": {
                  "example": {
                    "description": "Successful response for Tiling Service",
                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Capabilities xmlns:ows=\"http://www.opengis.net/ows/1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.opengis.net/wmts/1.0\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:ns5=\"http://www.w3.org/2001/SMIL20/\" xmlns:ns6=\"http://www.w3.org/2001/SMIL20/Language\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"1.0.0\" xsi:schemaLocation=\"http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd\">\n  <ows:ServiceIdentification>\n      <ows:Title>Precisely Spatial API WMTS Service</ows:Title>\n      <ows:Abstract>Precisely Spatial API WMTS Service</ows:Abstract>\n      <ows:Keywords>\n          <ows:Keyword>map</ows:Keyword>\n          <ows:Keyword>geographic</ows:Keyword>\n          <ows:Keyword>wmts</ows:Keyword>\n      </ows:Keywords>\n      <ows:ServiceType>OGC WMTS</ows:ServiceType>\n      <ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>\n      <ows:Profile>http://www.opengis.net/spec/wmts-simple/1.0/conf/simple-profile</ows:Profile>\n      <ows:Fees>none</ows:Fees>\n      <ows:AccessConstraints>none</ows:AccessConstraints>\n  </ows:ServiceIdentification>\n  <ows:ServiceProvider>\n      <ows:ProviderName>Precisely Spatial API</ows:ProviderName>\n      <ows:ProviderSite xlink:type=\"simple\" xlink:href=\"http://www.yourcompany.com/\"/>\n      <ows:ServiceContact>\n          <ows:IndividualName>Contact Person</ows:IndividualName>\n          <ows:PositionName>Contact Person's Title</ows:PositionName>\n          <ows:ContactInfo>\n              <ows:Phone>\n                  <ows:Voice>1.800.000.0000</ows:Voice>\n                  <ows:Facsimile>1.800.000.0000</ows:Facsimile>\n              </ows:Phone>\n              <ows:Address>\n                  <ows:DeliveryPoint>Mail Delivery Location</ows:DeliveryPoint>\n                  <ows:City>City</ows:City>\n                  <ows:AdministrativeArea>Province</ows:AdministrativeArea>\n                  <ows:PostalCode>PostCode</ows:PostalCode>\n                  <ows:Country>Country</ows:Country>\n                  <ows:ElectronicMailAddress>support@precisely.com</ows:ElectronicMailAddress>\n              </ows:Address>\n              <ows:HoursOfService>24 Hours</ows:HoursOfService>\n              <ows:ContactInstructions>Contact Instructions</ows:ContactInstructions>\n          </ows:ContactInfo>\n          <ows:Role>Contact Person's Role</ows:Role>\n      </ows:ServiceContact>\n  </ows:ServiceProvider>\n  <ows:OperationsMetadata>\n      <ows:Operation name=\"GetCapabilities\">\n          <ows:DCP>\n              <ows:HTTP>\n                  <ows:Get xlink:href=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/WMTSCapabilities.xml\">\n                      <ows:Constraint name=\"GetEncoding\">\n                          <ows:AllowedValues>\n                              <ows:Value>RESTful</ows:Value>\n                          </ows:AllowedValues>\n                      </ows:Constraint>\n                  </ows:Get>\n                  <ows:Get xlink:href=\"https://api.cloud.precisely.com/v1/spatial/wmts?\">\n                      <ows:Constraint name=\"GetEncoding\">\n                          <ows:AllowedValues>\n                              <ows:Value>KVP</ows:Value>\n                          </ows:AllowedValues>\n                      </ows:Constraint>\n                  </ows:Get>\n              </ows:HTTP>\n          </ows:DCP>\n      </ows:Operation>\n      <ows:Operation name=\"GetTile\">\n          <ows:DCP>\n              <ows:HTTP>\n                  <ows:Get xlink:href=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/\">\n                      <ows:Constraint name=\"GetEncoding\">\n                          <ows:AllowedValues>\n                              <ows:Value>RESTful</ows:Value>\n                          </ows:AllowedValues>\n                      </ows:Constraint>\n                  </ows:Get>\n                  <ows:Get xlink:href=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/\">\n                      <ows:Constraint name=\"GetEncoding\">\n                          <ows:AllowedValues>\n                              <ows:Value>RESTful</ows:Value>\n                          </ows:AllowedValues>\n                      </ows:Constraint>\n                  </ows:Get>\n                  <ows:Get xlink:href=\"https://api.cloud.precisely.com/v1/spatial/wmts?\">\n                      <ows:Constraint name=\"GetEncoding\">\n                          <ows:AllowedValues>\n                              <ows:Value>KVP</ows:Value>\n                          </ows:AllowedValues>\n                      </ows:Constraint>\n                  </ows:Get>\n              </ows:HTTP>\n          </ows:DCP>\n      </ows:Operation>\n  </ows:OperationsMetadata>\n  <Contents>\n      <Layer>\n          <ows:Title>Address Fabric USA</ows:Title>\n          <ows:Identifier>adf-usa</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/adf-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/adf-usa/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/adf-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/adf-usa/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Residential USA</ows:Title>\n          <ows:Identifier>nhb-usa</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/nhb-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/nhb-usa/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/nhb-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/nhb-usa/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Parcel Boundaries USA</ows:Title>\n          <ows:Identifier>par-usa</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/par-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/par-usa/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/par-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/par-usa/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Buildings USA</ows:Title>\n          <ows:Identifier>pbb-usa</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/pbb-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/pbb-usa/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/pbb-usa/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/pbb-usa/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Fire Risk Pro</ows:Title>\n          <ows:Identifier>fireriskpro</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/fireriskpro/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/fireriskpro/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/fireriskpro/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/fireriskpro/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Fire Risk Pro USA</ows:Title>\n          <ows:Identifier>wfr-usa-fireriskpro-mv</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/wfr-usa-fireriskpro-mv/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/wfr-usa-fireriskpro-mv/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/wfr-usa-fireriskpro-mv/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/wfr-usa-fireriskpro-mv/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Crime Index USA</ows:Title>\n          <ows:Identifier>crp-usa-mv</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/crp-usa-mv/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/crp-usa-mv/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/crp-usa-mv/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/crp-usa-mv/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <Layer>\n          <ows:Title>Psyte USA</ows:Title>\n          <ows:Identifier>psyte-usa-mv</ows:Identifier>\n          <Style isDefault=\"true\">\n              <ows:Title>default</ows:Title>\n              <ows:Identifier>default</ows:Identifier>\n          </Style>\n          <Format>image/png</Format>\n          <Format>application/vnd.mapbox-vector-tile</Format>\n          <TileMatrixSetLink>\n              <TileMatrixSet>WorldWebMercatorQuad_0_to_19</TileMatrixSet>\n          </TileMatrixSetLink>\n          <ResourceURL format=\"image/png\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/psyte-usa-mv/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"image/png\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/psyte-usa-mv/{TileMatrix}/{TileCol}/{TileRow}.png\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"tile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/default/tiles/psyte-usa-mv/{style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n          <ResourceURL format=\"application/vnd.mapbox-vector-tile\" resourceType=\"simpleProfileTile\" template=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/simpleProfileTile/tiles/psyte-usa-mv/{TileMatrix}/{TileCol}/{TileRow}.mvt\"/>\n      </Layer>\n      <TileMatrixSet>\n          <ows:Title>WorldWebMercatorQuad_0_to_19</ows:Title>\n          <ows:Identifier>WorldWebMercatorQuad_0_to_19</ows:Identifier>\n          <ows:BoundingBox crs=\"urn:ogc:def:crs:EPSG::3857\">\n              <ows:LowerCorner>-2.003750834E7 -2.003750834E7</ows:LowerCorner>\n              <ows:UpperCorner>2.003750834E7 2.003750834E7</ows:UpperCorner>\n          </ows:BoundingBox>\n          <ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>\n          <WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>\n          <TileMatrix>\n              <ows:Identifier>0</ows:Identifier>\n              <ScaleDenominator>5.590822639508929E8</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>1</MatrixWidth>\n              <MatrixHeight>1</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>1</ows:Identifier>\n              <ScaleDenominator>2.7954113197544646E8</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>2</MatrixWidth>\n              <MatrixHeight>2</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>2</ows:Identifier>\n              <ScaleDenominator>1.3977056598772323E8</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>4</MatrixWidth>\n              <MatrixHeight>4</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>3</ows:Identifier>\n              <ScaleDenominator>6.988528299386162E7</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>8</MatrixWidth>\n              <MatrixHeight>8</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>4</ows:Identifier>\n              <ScaleDenominator>3.494264149693081E7</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>16</MatrixWidth>\n              <MatrixHeight>16</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>5</ows:Identifier>\n              <ScaleDenominator>1.7471320748465404E7</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>32</MatrixWidth>\n              <MatrixHeight>32</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>6</ows:Identifier>\n              <ScaleDenominator>8735660.374232702</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>64</MatrixWidth>\n              <MatrixHeight>64</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>7</ows:Identifier>\n              <ScaleDenominator>4367830.187116351</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>128</MatrixWidth>\n              <MatrixHeight>128</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>8</ows:Identifier>\n              <ScaleDenominator>2183915.0935581755</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>256</MatrixWidth>\n              <MatrixHeight>256</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>9</ows:Identifier>\n              <ScaleDenominator>1091957.5467790877</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>512</MatrixWidth>\n              <MatrixHeight>512</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>10</ows:Identifier>\n              <ScaleDenominator>545978.7733895439</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>1024</MatrixWidth>\n              <MatrixHeight>1024</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>11</ows:Identifier>\n              <ScaleDenominator>272989.38669477194</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>2048</MatrixWidth>\n              <MatrixHeight>2048</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>12</ows:Identifier>\n              <ScaleDenominator>136494.69334738597</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>4096</MatrixWidth>\n              <MatrixHeight>4096</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>13</ows:Identifier>\n              <ScaleDenominator>68247.34667369298</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>8192</MatrixWidth>\n              <MatrixHeight>8192</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>14</ows:Identifier>\n              <ScaleDenominator>34123.67333684649</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>16384</MatrixWidth>\n              <MatrixHeight>16384</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>15</ows:Identifier>\n              <ScaleDenominator>17061.836668423246</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>32768</MatrixWidth>\n              <MatrixHeight>32768</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>16</ows:Identifier>\n              <ScaleDenominator>8530.918334211623</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>65536</MatrixWidth>\n              <MatrixHeight>65536</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>17</ows:Identifier>\n              <ScaleDenominator>4265.4591671058115</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>131072</MatrixWidth>\n              <MatrixHeight>131072</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>18</ows:Identifier>\n              <ScaleDenominator>2132.7295835529058</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>262144</MatrixWidth>\n              <MatrixHeight>262144</MatrixHeight>\n          </TileMatrix>\n          <TileMatrix>\n              <ows:Identifier>19</ows:Identifier>\n              <ScaleDenominator>1066.3647917764529</ScaleDenominator>\n              <TopLeftCorner>-2.003750834E7 2.003750834E7</TopLeftCorner>\n              <TileWidth>256</TileWidth>\n              <TileHeight>256</TileHeight>\n              <MatrixWidth>524288</MatrixWidth>\n              <MatrixHeight>524288</MatrixHeight>\n          </TileMatrix>\n      </TileMatrixSet>\n  </Contents>\n  <ServiceMetadataURL xlink:href=\"https://api.cloud.precisely.com/v1/spatial/wmts/1.0.0/WMTSCapabilities.xml\"/>\n  </Capabilities>  \n"
                  }
                }
              },
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "png"
                },
                "examples": {
                  "example": {
                    "description": "Successful tiling image response",
                    "externalValue": "http://tiling-front-service.spatial-enrich.svc.cluster.local/example.png"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "a8731c85-bea5-4eba-8e7b-9516e975d4b5",
                  "errors": [
                    {
                      "code": "DIS-RT-1010",
                      "detail": "Invalid tiling request"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized: Invalid token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1001",
                      "detail": "Unauthorized"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1002",
                      "detail": "Not Authorized to access this API"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1005",
                      "detail": "Rate limit exceeded"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1003",
                      "detail": "Issue with internal services"
                    }
                  ]
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1003",
                      "detail": "Issue with internal services"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/spatial/wmts/{Version}/default/tiles/{Layer}/{Style}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.{Format}": {
      "get": {
        "tags": [
          "Spatial WMTS API"
        ],
        "summary": "Handles WMTS requests (default profile)",
        "operationId": "restfulGetTileDefault",
        "description": "Returns a map tile based on the RESTful encoding for the WMTS service.\n",
        "parameters": [
          {
            "name": "Version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "1.0.0",
            "description": "WMTS version (default is `1.0.0`)."
          },
          {
            "name": "Layer",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "par-usa",
            "description": "Available layer name via Data or Repository."
          },
          {
            "name": "Style",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "default",
            "description": "Comma-separated list of one rendering style per requested layer."
          },
          {
            "name": "TileMatrixSet",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "WorldWebMercatorQuad_0_to_19",
            "description": "Tile matrix set to generate tiles for."
          },
          {
            "name": "TileMatrix",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 17,
            "description": "Level of detail (zoom level)."
          },
          {
            "name": "TileCol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "example": 31118,
            "description": "An integer value that specifies the column number of the tile you want."
          },
          {
            "name": "TileRow",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "example": 50069,
            "description": "An integer value that specifies the row number of the tile you want."
          },
          {
            "name": "Format",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "png",
            "description": "Image format extension."
          }
        ],
        "responses": {
          "200": {
            "description": "Tile image returned successfully.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                },
                "examples": {
                  "example": {
                    "description": "Successful tiling image response",
                    "externalValue": "http://tiling-front-service.spatial-enrich.svc.cluster.local/example.png"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "a8731c85-bea5-4eba-8e7b-9516e975d4b5",
                  "errors": [
                    {
                      "code": "DIS-RT-1010",
                      "detail": "Invalid tiling request"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized: Invalid token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1001",
                      "detail": "Unauthorized"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1002",
                      "detail": "Not Authorized to access this API"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1005",
                      "detail": "Rate limit exceeded"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1003",
                      "detail": "Issue with internal services"
                    }
                  ]
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1003",
                      "detail": "Issue with internal services"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ]
      }
    },
    "/v1/spatial/wmts/{Version}/simpleProfileTile/tiles/{Layer}/{TileMatrix}/{TileCol}/{TileRow}.{Format}": {
      "get": {
        "tags": [
          "Spatial WMTS API"
        ],
        "summary": "Handles WMTS requests (Simple profile)",
        "operationId": "restfulGetTileSimpleProfile",
        "description": "Returns a map tile based on the RESTful encoding for the WMTS service.\n",
        "parameters": [
          {
            "name": "Version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "1.0.0",
            "description": "WMTS version (default is `1.0.0`)."
          },
          {
            "name": "Layer",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "par-usa",
            "description": "Available layer name via Data or Repository."
          },
          {
            "name": "TileMatrix",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": 17,
            "description": "Level of detail (zoom level)."
          },
          {
            "name": "TileCol",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "example": 31118,
            "description": "An integer value that specifies the column number of the tile you want."
          },
          {
            "name": "TileRow",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "example": 50069,
            "description": "An integer value that specifies the row number of the tile you want."
          },
          {
            "name": "Format",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "png",
            "description": "Image format extension."
          }
        ],
        "responses": {
          "200": {
            "description": "Tile image returned successfully.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                },
                "examples": {
                  "example": {
                    "description": "Successful tiling image response",
                    "externalValue": "http://tiling-front-service.spatial-enrich.svc.cluster.local/example.png"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "a8731c85-bea5-4eba-8e7b-9516e975d4b5",
                  "errors": [
                    {
                      "code": "DIS-RT-1010",
                      "detail": "Invalid tiling request"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized: Invalid token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1001",
                      "detail": "Unauthorized"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1002",
                      "detail": "Not Authorized to access this API"
                    }
                  ]
                }
              }
            }
          },
          "429": {
            "description": "Too many requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1005",
                      "detail": "Rate limit exceeded"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1003",
                      "detail": "Issue with internal services"
                    }
                  ]
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "example": {
                  "id": "124fe974-cc53-4722-861e-7f4bf582a5ec",
                  "errors": [
                    {
                      "code": "DIS-1003",
                      "detail": "Issue with internal services"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          },
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Capabilities": {
        "type": "object",
        "xml": {
          "name": "Capabilities",
          "namespace": "http://www.opengis.net/wmts/1.0",
          "prefix": "wmts"
        },
        "properties": {
          "ServiceIdentification": {
            "$ref": "#/components/schemas/ServiceIdentification"
          },
          "ServiceProvider": {
            "$ref": "#/components/schemas/ServiceProvider"
          },
          "OperationsMetadata": {
            "$ref": "#/components/schemas/OperationsMetadata"
          },
          "Contents": {
            "$ref": "#/components/schemas/Contents"
          }
        }
      },
      "ServiceIdentification": {
        "type": "object",
        "xml": {
          "namespace": "http://www.opengis.net/ows/1.1",
          "prefix": "ows"
        },
        "properties": {
          "Title": {
            "type": "string"
          },
          "Abstract": {
            "type": "string"
          },
          "Keywords": {
            "type": "object",
            "properties": {
              "Keyword": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "ServiceType": {
            "type": "string"
          },
          "ServiceTypeVersion": {
            "type": "string"
          },
          "Profile": {
            "type": "string"
          },
          "Fees": {
            "type": "string"
          },
          "AccessConstraints": {
            "type": "string"
          }
        }
      },
      "ServiceProvider": {
        "type": "object",
        "properties": {
          "ProviderName": {
            "type": "string"
          },
          "ProviderSite": {
            "type": "string"
          },
          "ServiceContact": {
            "type": "object",
            "properties": {
              "IndividualName": {
                "type": "string"
              },
              "PositionName": {
                "type": "string"
              },
              "ContactInfo": {
                "type": "object",
                "properties": {
                  "Phone": {
                    "type": "object",
                    "properties": {
                      "Voice": {
                        "type": "string"
                      },
                      "Facsimile": {
                        "type": "string"
                      }
                    }
                  },
                  "Address": {
                    "type": "object",
                    "properties": {
                      "DeliveryPoint": {
                        "type": "string"
                      },
                      "City": {
                        "type": "string"
                      },
                      "AdministrativeArea": {
                        "type": "string"
                      },
                      "PostalCode": {
                        "type": "string"
                      },
                      "Country": {
                        "type": "string"
                      },
                      "ElectronicMailAddress": {
                        "type": "string"
                      }
                    }
                  },
                  "HoursOfService": {
                    "type": "string"
                  },
                  "ContactInstructions": {
                    "type": "string"
                  }
                }
              },
              "Role": {
                "type": "string"
              }
            }
          }
        }
      },
      "OperationsMetadata": {
        "type": "object",
        "properties": {
          "Operation": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "DCP": {
                  "type": "object",
                  "properties": {
                    "HTTP": {
                      "type": "object",
                      "properties": {
                        "Get": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "href": {
                                "type": "string"
                              },
                              "Constraint": {
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "AllowedValues": {
                                    "type": "object",
                                    "properties": {
                                      "Value": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Contents": {
        "type": "object",
        "properties": {
          "Layer": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Title": {
                  "type": "string"
                },
                "Identifier": {
                  "type": "string"
                },
                "Style": {
                  "type": "object",
                  "properties": {
                    "isDefault": {
                      "type": "boolean"
                    },
                    "Title": {
                      "type": "string"
                    },
                    "Identifier": {
                      "type": "string"
                    }
                  }
                },
                "Format": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "TileMatrixSetLink": {
                  "type": "object",
                  "properties": {
                    "TileMatrixSet": {
                      "type": "string"
                    }
                  }
                },
                "ResourceURL": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "format": {
                        "type": "string"
                      },
                      "resourceType": {
                        "type": "string"
                      },
                      "template": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "TileMatrixSet": {
            "type": "object",
            "properties": {
              "Title": {
                "type": "string"
              },
              "Identifier": {
                "type": "string"
              },
              "BoundingBox": {
                "type": "object",
                "properties": {
                  "LowerCorner": {
                    "type": "string"
                  },
                  "UpperCorner": {
                    "type": "string"
                  },
                  "crs": {
                    "type": "string"
                  }
                }
              },
              "SupportedCRS": {
                "type": "string"
              },
              "WellKnownScaleSet": {
                "type": "string"
              },
              "TileMatrix": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "Identifier": {
                      "type": "string"
                    },
                    "ScaleDenominator": {
                      "type": "number"
                    },
                    "TopLeftCorner": {
                      "type": "string"
                    },
                    "TileWidth": {
                      "type": "integer"
                    },
                    "TileHeight": {
                      "type": "integer"
                    },
                    "MatrixWidth": {
                      "type": "integer"
                    },
                    "MatrixHeight": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ErrorDetail": {
        "type": "object",
        "description": "Details of Error",
        "properties": {
          "code": {
            "type": "string",
            "description": "A unique code representing the specific error",
            "example": "DIS-1001"
          },
          "detail": {
            "type": "string",
            "description": "A detailed message describing the error.",
            "example": "Unauthorized"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the error",
            "example": "ad45c1aded938181a05f256e5a1b594d"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "description": "Pass the value in the following format: Apikey <base64(api_key:api_secret)>.",
        "name": "Authorization",
        "in": "header",
        "scheme": "ApiKeyAuth"
      },
      "bearerAuth": {
        "type": "http",
        "description": "Pass the value as JWT Bearer Token.",
        "name": "bearerAuth",
        "in": "header",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}