--- swagger: '2.0' info: version: 1.0.0 title: GeoServer WMTS Store Layers description: A WMTS store is a store whose source is a remote WMTS service. Also known as "Cascading WMTS". A WMTS store layer is a layer from this store. contact: name: GeoServer email: 'geoserver-users@osgeo.org' url: 'https://geoserver.org/comm/' host: localhost:8080 basePath: /geoserver/rest paths: /workspaces/{workspace}/wmtslayers: get: operationId: getWMTSStoreLayers tags: - "WMTSLayers" description: Retrieves the WMTS layers available on the server. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/workspaces/{workspace}/wmtslayers" for XML). parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: list in: query description: Set "list=available" to see all possible layers in the store, not just ones currently published type: string default: configured enum: - available - configured produces: - application/xml - application/json - text/html responses: 200: description: OK schema: $ref: "#/definitions/WMTSStoreLayersList" examples: application/xml: | dem states application/json: | {"wmtsLayers":{"wmtsLayer":[{"name":"dem","href":"http:\/\/localhost:8080\/geoserver\/rest\/workspaces\/cite\/wmtsstores\/altgs\/wmtslayers\/dem.json"},{"name":"states","href":"http:\/\/localhost:8080\/geoserver\/rest\/workspaces\/cite\/wmtsstores\/altgs\/wmtslayers\/states.json"}]}} application/xml (list=available): | ne:basemap ne:ne1 ne:boundary_lines_land ne:states_provinces_lines ne:populated_places opengeo:countries usgs:dem ne:ocean ne:roads usa:states ne:states_provinces_shp ne:urban_areas application/json (list=available): | {"list":{"string":["ne:basemap","ne:ne1","ne:boundary_lines_land","ne:states_provinces_lines","ne:populated_places","opengeo:countries","usgs:dem","ne:ocean","ne:roads","usa:states","ne:states_provinces_shp","ne:urban_areas"]}} post: operationId: postWMTSStoreLayers tags: - "WMTSLayers" description: Publishes a new WMTS store layer. parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: WMTSStoreLayerBody in: body description: Body of the WMTS store layer required: true schema: $ref: "#/definitions/WMTSStoreLayerInfo" consumes: - application/xml - application/json responses: 201: description: Created headers: Location: description: Location of the newly created layer. type: string put: operationId: putWMTSStoreLayers tags: - "WMTSLayers" description: Invalid. Use POST for adding a new layer, or PUT on an individual layer to edit it. responses: 405: description: Method Not Allowed delete: operationId: deleteWMTSStoreLayers tags: - "WMTSLayers" description: Invalid. Can only delete an individual layer. responses: 405: description: Method Not Allowed /workspaces/{workspace}/wmtslayers/{wmtslayer}: get: operationId: getWMTSStoreLayer tags: - "WMTSLayers" description: Retrieves an individual WMTS layer. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/workspaces/{workspace}/wmtslayers/{wmtslayer}.xml" for XML). produces: - application/xml - application/json - text/html parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtslayer in: path description: Name of the layer required: true type: string - name: quietOnNotFound in: query description: When set to "true", will not log an exception when the style is not present. The 404 status code will still be returned. Allowable values are "true" or "false" (default). type: boolean required: false responses: 200: description: OK schema: $ref: "#/definitions/WMTSStoreLayerInfo" examples: application/xml: | dem usgs:dem cite Digital elevation model USGS GTOPO30 digital elevation model USGS GTOPO30 digital elevation model WCS GeoTIFF W100N40 GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH], AUTHORITY["EPSG","4326"]] EPSG:4326 -100.0 -60.000000000015994 -9.999999999980012 39.99999999999999 EPSG:4326 -100.0 -60.000000000015994 -9.999999999980012 39.99999999999999 EPSG:4326 FORCE_DECLARED true false cite:altgs application/json: | {"wmtsLayer":{"name":"dem","nativeName":"usgs:dem","namespace":{"name":"cite","href":"http://localhost:8080/geoserver/rest/namespaces/cite.json"},"title":"Digital elevation model","description":"USGS GTOPO30 digital elevation model","abstract":"USGS GTOPO30 digital elevation model","keywords":{"string":["WCS","GeoTIFF","W100N40"]},"nativeCRS":"GEOGCS[\"WGS 84\", \r\n DATUM[\"World Geodetic System 1984\", \r\n SPHEROID[\"WGS 84\", 6378137.0, 298.257223563, AUTHORITY[\"EPSG\",\"7030\"]], \r\n AUTHORITY[\"EPSG\",\"6326\"]], \r\n PRIMEM[\"Greenwich\", 0.0, AUTHORITY[\"EPSG\",\"8901\"]], \r\n UNIT[\"degree\", 0.017453292519943295], \r\n AXIS[\"Geodetic longitude\", EAST], \r\n AXIS[\"Geodetic latitude\", NORTH], \r\n AUTHORITY[\"EPSG\",\"4326\"]]","srs":"EPSG:4326","nativeBoundingBox":{"minx":-100,"maxx":-60.000000000015994,"miny":-9.999999999980012,"maxy":39.99999999999999,"crs":"EPSG:4326"},"latLonBoundingBox":{"minx":-100,"maxx":-60.000000000015994,"miny":-9.999999999980012,"maxy":39.99999999999999,"crs":"EPSG:4326"},"projectionPolicy":"FORCE_DECLARED","enabled":true,"metadata":{"entry":{"@key":"cachingEnabled","$":"false"}},"store":{"@class":"wmtsStore","name":"cite:altgs","href":"http://localhost:8080/geoserver/rest/workspaces/cite/wmtsstores/altgs.json"}}} post: operationId: postWMTSStoreLayer tags: - "WMTSLayers" description: Invalid. Use PUT to edit a layer, or POST on the /wmtslayers endpoint to add a new layer. responses: 405: description: Method Not Allowed put: operationId: putWMTSStoreLayer tags: - "WMTSLayers" description: Edits an existing WMTS store layer. parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtslayer in: path description: Name of the layer to be edited required: true type: string - name: WMTSStoreLayerBody in: body description: Body of the WMTS store layer required: true schema: $ref: "#/definitions/WMTSStoreLayerInfo" - name: calculate in: query description: Specifies whether to recalculate any bounding boxes for a wmtWMTSs layer. Some properties are automatically recalculated when necessary. In particular, the native bounding box is recalculated when the projection or projection policy are changed, and the lat/lon bounding box is recalculated when the native bounding box is recalculated, or when a new native bounding box is explicitly provided in the request. (The native and lat/lon bounding boxes are not automatically recalculated when they are explicitly included in the request.) In addition, the client may explicitly request a fixed set of fields to calculate, by including a comma-separated list of their names in the recalculate parameter. The empty parameter 'recalculate=' is useful avoid slow recalculation when operating against large datasets as 'recalculate=' avoids calculating any fields, regardless of any changes to projection, projection policy, etc. The nativebbox parameter 'recalculate=nativebbox' is used recalculates the native bounding box, while avoiding recalculating the lat/lon bounding box. Recalculate parameters can be used in together - 'recalculate=nativebbox,latlonbbox' can be used after a bulk import to to recalculates both the native bounding box and the lat/lon bounding box. required: false type: array collectionFormat: csv minItems: 0 maxItems: 2 items: type: string enum: [nativebbox,latlonbbox] consumes: - application/xml - application/json responses: 201: description: Created headers: Location: description: Location of the newly created layer. type: string delete: operationId: deleteWMTSStoreLayer tags: - "WMTSLayers" description: Deletes a layer from the server. parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtslayer in: path description: Name of the layer to be deleted required: true type: string - name: recurse in: query description: Recursively deletes all layers referenced by the specified wmtslayer. Allowed values for this parameter are true or false. The default value is false. A request with 'recurse=false' will fail if any layers reference the wmtslayer. required: false type: boolean default: false responses: 200: description: OK /workspaces/{workspace}/wmtsstores/{wmtsstore}/layers: get: operationId: getWMTSStoreStoreLayers tags: - "WMTSLayers" description: Retrieves the WMTS store layers available in the given store. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/workspaces/{workspace}/wmtsstores/{wmtsstore}/wmtslayers.xml" for XML). parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtsstore in: path description: Name of the store required: true type: string - name: list in: query description: Set "list=available" to see all possible layers in the store, not just ones currently published default: configured enum: - available - configured type: string produces: - application/xml - application/json - text/html responses: 200: description: OK schema: $ref: "#/definitions/WMTSStoreLayersList" examples: application/xml: | dem states application/json: | {"wmtsLayers":{"wmtsLayer":[{"name":"dem","href":"http:\/\/localhost:8080\/geoserver\/rest\/workspaces\/cite\/wmtsstores\/altgs\/wmtslayers\/dem.json"},{"name":"states","href":"http:\/\/localhost:8080\/geoserver\/rest\/workspaces\/cite\/wmtsstores\/altgs\/wmtslayers\/states.json"}]}} application/xml (list=available): | ne:basemap ne:ne1 ne:boundary_lines_land ne:states_provinces_lines ne:populated_places opengeo:countries usgs:dem ne:ocean ne:roads usa:states ne:states_provinces_shp ne:urban_areas application/json (list=available): | {"list":{"string":["ne:basemap","ne:ne1","ne:boundary_lines_land","ne:states_provinces_lines","ne:populated_places","opengeo:countries","usgs:dem","ne:ocean","ne:roads","usa:states","ne:states_provinces_shp","ne:urban_areas"]}} post: operationId: postWMTSStoreStoreLayers tags: - "WMTSLayers" description: Publishes a new WMTS store layer in the given store. parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtsstore in: path description: Name of the data store required: true type: string - name: WMTSStoreLayerBody in: body description: Body of the WMTS store layer required: true schema: $ref: "#/definitions/WMTSStoreLayerInfo" consumes: - application/xml - application/json responses: 201: description: Created headers: Location: description: Location of the newly created layer type: string put: operationId: putWMTSStoreStoreLayers tags: - "WMTSLayers" description: Invalid. Use POST for adding a new layer, or PUT on an individual layer to edit it. responses: 405: description: Method Not Allowed delete: operationId: deleteWMTSStoreStoreLayers tags: - "WMTSLayers" description: Invalid. Can only delete an individual layer. responses: 405: description: Method Not Allowed /workspaces/{workspace}/wmtsstores/{wmtsstore}/layers/{wmtslayer}: get: operationId: getWMTSStoreStoreLayer tags: - "WMTSLayers" description: Retrieves an individual WMTS store layer for a given store. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/workspaces/{workspace}/wmtsstores/{wmtsstore}/wmtslayers/{wmtslayer}.xml" for XML). produces: - application/xml - application/json - text/html parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtsstore in: path description: Name of the store required: true type: string - name: wtmslayer in: path description: Name of the layer required: true type: string - name: quietOnNotFound in: query description: When set to "true", will not log an exception when the style is not present. The 404 status code will still be returned. Allowable values are "true" or "false" (default). type: boolean required: false responses: 200: description: OK schema: $ref: "#/definitions/WMTSStoreLayerInfo" examples: application/xml: | dem usgs:dem cite Digital elevation model USGS GTOPO30 digital elevation model USGS GTOPO30 digital elevation model WCS GeoTIFF W100N40 GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic latitude", NORTH], AUTHORITY["EPSG","4326"]] EPSG:4326 -100.0 -60.000000000015994 -9.999999999980012 39.99999999999999 EPSG:4326 -100.0 -60.000000000015994 -9.999999999980012 39.99999999999999 EPSG:4326 FORCE_DECLARED true false cite:altgs application/json: | {"wmtsLayer":{"name":"dem","nativeName":"usgs:dem","namespace":{"name":"cite","href":"http://localhost:8080/geoserver/rest/namespaces/cite.json"},"title":"Digital elevation model","description":"USGS GTOPO30 digital elevation model","abstract":"USGS GTOPO30 digital elevation model","keywords":{"string":["WCS","GeoTIFF","W100N40"]},"nativeCRS":"GEOGCS[\"WGS 84\", \r\n DATUM[\"World Geodetic System 1984\", \r\n SPHEROID[\"WGS 84\", 6378137.0, 298.257223563, AUTHORITY[\"EPSG\",\"7030\"]], \r\n AUTHORITY[\"EPSG\",\"6326\"]], \r\n PRIMEM[\"Greenwich\", 0.0, AUTHORITY[\"EPSG\",\"8901\"]], \r\n UNIT[\"degree\", 0.017453292519943295], \r\n AXIS[\"Geodetic longitude\", EAST], \r\n AXIS[\"Geodetic latitude\", NORTH], \r\n AUTHORITY[\"EPSG\",\"4326\"]]","srs":"EPSG:4326","nativeBoundingBox":{"minx":-100,"maxx":-60.000000000015994,"miny":-9.999999999980012,"maxy":39.99999999999999,"crs":"EPSG:4326"},"latLonBoundingBox":{"minx":-100,"maxx":-60.000000000015994,"miny":-9.999999999980012,"maxy":39.99999999999999,"crs":"EPSG:4326"},"projectionPolicy":"FORCE_DECLARED","enabled":true,"metadata":{"entry":{"@key":"cachingEnabled","$":"false"}},"store":{"@class":"wmtsStore","name":"cite:altgs","href":"http://localhost:8080/geoserver/rest/workspaces/cite/wmtsstores/altgs.json"}}} post: operationId: postWMTSStoreStoreLayer tags: - "WMTSLayers" description: Invalid. Use PUT to edit a layer, or POST on the /wmtslayers endpoint to add a new layer. responses: 405: description: Method Not Allowed put: operationId: putWMTSStoreStoreLayer tags: - "WMTSLayers" description: Edits an existing WMTS store layer. parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtsstore in: path description: Name of the store required: true type: string - name: wmtslayer in: path description: Name of the layer to be edited required: true type: string - name: WMTSStoreLayerBody in: body description: Body of the WMTS store layer required: true schema: $ref: "#/definitions/WMTSStoreLayerInfo" - name: calculate in: query description: Specifies whether to recalculate any bounding boxes for a wmts layer. Some properties are automatically recalculated when necessary. In particular, the native bounding box is recalculated when the projection or projection policy are changed, and the lat/lon bounding box is recalculated when the native bounding box is recalculated, or when a new native bounding box is explicitly provided in the request. (The native and lat/lon bounding boxes are not automatically recalculated when they are explicitly included in the request.) In addition, the client may explicitly request a fixed set of fields to calculate, by including a comma-separated list of their names in the recalculate parameter. The empty parameter 'recalculate=' is useful avoid slow recalculation when operating against large datasets as 'recalculate=' avoids calculating any fields, regardless of any changes to projection, projection policy, etc. The nativebbox parameter 'recalculate=nativebbox' is used recalculates the native bounding box, while avoiding recalculating the lat/lon bounding box. Recalculate parameters can be used in together - 'recalculate=nativebbox,latlonbbox' can be used after a bulk import to to recalculates both the native bounding box and the lat/lon bounding box. required: false type: array collectionFormat: csv minItems: 0 maxItems: 2 items: type: string enum: [nativebbox,latlonbbox] consumes: - application/xml - application/json responses: 201: description: Created headers: Location: description: Location of the newly created layer type: string delete: operationId: deleteWMTSStoreStoreLayer tags: - "WMTSLayers" description: Deletes a layer from the server. parameters: - name: workspace in: path description: Name of the workspace required: true type: string - name: wmtsstore in: path description: Name of the store required: true type: string - name: wmtslayer in: path description: Name of the layer to be deleted required: true type: string - name: recurse in: query description: Recursively deletes all layers referenced by the specified wmtslayer. Allowed values for this parameter are true or false. The default value is false. A request with 'recurse=false' will fail if any layers reference the wmtslayer. required: false type: boolean default: false responses: 200: description: OK definitions: WMTSStoreLayersList: title: wmtsLayers type: array items: title: wmtsLayer type: object properties: name: type: string description: Name of the layer link: type: string description: URL of the layer representation WMTSStoreLayersAvailableList: title: list type: array items: title: wmtsLayerName type: object properties: name: type: string description: Name of the layer link: type: string description: URL of the layer representation WMTSStoreLayerInfo: title: wmtsLayer xml: name: wmtsLayer type: object properties: name: type: string description: Name of the layer, corresponding to the published name of the resource nativeName: type: string description: Name of the layer as known on the remote WMTS namespace: type: object description: Namespace of the layer properties: name: type: string description: Name of the namespace link: type: string description: URL to the namespace representation. title: type: string description: Title of the layer abstract: type: string description: Description of the layer description: type: string description: Same as abstract keywords: type: array description: Collection of keywords associated with the layer items: type: object properties: string: type: string description: Keyword metadatalinks: type: object description: Wraps a collection of metadata links properties: metadataLink: type: array description: A collection of metadata links items: type: object properties: type: type: string description: MIME type metadataType: type: string description: Type of metadata such as "FGDC" content: type: string description: Link URL dataLinks: type: object description: Wraps a collection of data links properties: metadataLink: type: array description: Collection of data links items: type: object properties: type: type: string description: MIME type content: type: string description: Link URL nativeCRS: type: string description: Native coordinate reference system object in WKT srs: type: string description: Identifier of coordinate reference system nativeBoundingBox: type: object description: Bounds of the layer in its declared CRS. properties: minx: type: number description: Min x coordinate maxx: type: number description: Max x coordinate miny: type: number description: Min y coordinate maxy: type: number description: Max y coordinate crs: type: string description: Coordinate reference system of the bounding box latLonBoundingBox: type: object description: Bounds of the layer in latitude / longitude. This value represents a "fixed value" and is not calculated. properties: minx: type: number description: Min x coordinate maxx: type: number description: Max x coordinate miny: type: number description: Min y coordinate maxy: type: number description: Max y coordinate crs: type: string description: Coordinate reference system object of the bounding box projectionPolicy: type: string description: How to handle the coordinate reference system (native versus declared) enum: - FORCE_DECLARED - REPROJECT_TO_DECLARE - NONE enabled: type: boolean description: Whether the layer is enabled metadata: type: array description: A list of key/value metadata pairs. items: $ref: "#/definitions/MetadataEntry" store: type: object description: Store conaining the resource properties: '@class': type: string description: Class of the store name: type: string description: Name of the store href: type: string description: URL to the data store MetadataEntry: type: object title: entry properties: '@key': title: key type: string enum: - regionateStrategy - regionateFeatureLimit - cacheAgeMax - cachingEnabled - regionateAttribute - indexingEnabled - dirName description: Key used for metadata entry text: type: string description: Value of given key