OS NGD API - Tiles

OGC API - Tiles conformant vector tile service over the OS National Geographic Database, including tile matrix sets and styles. The OpenAPI 3.0.1 description is served live and anonymously at /api.

OpenAPI Specification

ordnance-survey-ngd-tiles-openapi.json Raw ↑
{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "OS NGD API - Tiles",
    "version" : "v1.8"
  },
  "servers" : [ {
    "description" : "NGD OGC API - Tiles server",
    "url" : "https://api.os.uk/maps/vector/ngd/ota/v1"
  } ],
  "paths" : {
    "/" : {
      "get" : {
        "operationId" : "getLandingPage",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "example" : {
                  "title" : "OS NGD API",
                  "description" : "Ordnance Survey National Geographic Database API",
                  "links" : [ {
                    "href" : "http://data.example.org/",
                    "rel" : "self",
                    "type" : "application/json",
                    "title" : "this document"
                  }, {
                    "href" : "http://data.example.org/api?f=json",
                    "rel" : "service-desc",
                    "type" : "application/vnd.oai.openapi+json;version=3.0",
                    "title" : "the API definition"
                  }, {
                    "href" : "http://data.example.org/api",
                    "rel" : "service-doc",
                    "type" : "text/html",
                    "title" : "the API documentation"
                  }, {
                    "href" : "http://data.example.org/conformance",
                    "rel" : "conformance",
                    "type" : "application/json",
                    "title" : "OGC API conformance classes implemented by this service"
                  }, {
                    "href" : "http://data.example.org/collections",
                    "rel" : "data",
                    "type" : "application/json",
                    "title" : "Information about the collections"
                  } ]
                },
                "schema" : {
                  "$ref" : "#/components/schemas/landingPage"
                }
              }
            },
            "description" : "The landing page provides links to the API definition (link relation `service-desc`, in this case path `/api`), to the Conformance declaration (path `/conformance`, link relation `conformance`), and to the Collections of geospatial data (path `/collections`, link relation `data`)."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the OS NGD API – Tiles landing page for this service.",
        "tags" : [ "Landing Page" ]
      }
    },
    "/conformance" : {
      "get" : {
        "operationId" : "getConformance",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/getConformance_200_response"
                }
              }
            },
            "description" : "The URIs of all conformance classes supported by the server"
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the set of OS NGD API – Tiles conformance classes that are supported by this service.",
        "tags" : [ "Landing Page" ]
      }
    },
    "/collections" : {
      "get" : {
        "operationId" : "getCollectionsList",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "example" : {
                  "links" : [ {
                    "href" : "http://data.example.org/collections",
                    "rel" : "self",
                    "type" : "application/json",
                    "title" : "All collections"
                  } ],
                  "collections" : [ {
                    "id" : "buildingpart",
                    "title" : "Building Part",
                    "description" : "Polygon feature representing a building.",
                    "extent" : {
                      "spatial" : {
                        "bbox" : [ [ -8.82, 49.79, 1.92, 60.94 ] ]
                      },
                      "temporal" : {
                        "interval" : [ [ "2022-08-27T00:00:00Z", null ] ]
                      }
                    },
                    "links" : [ {
                      "href" : "http://data.example.org/collections/buildingpart/items",
                      "rel" : "items",
                      "type" : "application/geo+json",
                      "title" : "Building Part"
                    } ]
                  } ]
                },
                "schema" : {
                  "$ref" : "#/components/schemas/collections"
                }
              },
              "text/html" : {
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "description" : "The collections of (mostly geospatial) data available from this API. The dataset contains one or more collections. This resource provides information about and access to the collections. The response contains the list of collections. Each collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is provided, with the corresponding relation type, as well as key information about the collection. This information includes:\n* a local identifier for the collection that is unique for the dataset;\n* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* an optional title and description for the collection;\n* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature')."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the list of geospatial data collections available from this service.",
        "tags" : [ "Data Collections" ]
      }
    },
    "/collections/{collectionId}" : {
      "get" : {
        "operationId" : "getCollection",
        "parameters" : [ {
          "description" : "Local identifier of a collection",
          "in" : "path",
          "name" : "collectionId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/AllCollections"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "example" : {
                  "id" : "buildingpart",
                  "title" : "Building Part",
                  "description" : "Polygon feature representing a building.",
                  "extent" : {
                    "spatial" : {
                      "bbox" : [ [ -8.82, 49.79, 1.92, 60.94 ] ]
                    },
                    "temporal" : {
                      "interval" : [ [ "2022-08-27T00:00:00Z", null ] ]
                    }
                  },
                  "links" : [ {
                    "href" : "http://data.example.org/collections/buildingpart/items",
                    "rel" : "items",
                    "type" : "application/geo+json",
                    "title" : "Building Part"
                  } ]
                },
                "schema" : {
                  "$ref" : "#/components/schemas/collectionInfo"
                }
              }
            },
            "description" : "Information about a particular collection of (mostly geospatial) data available from this API. The collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is contained in the response, with the corresponding relation type, as well as key information about the collection. This information includes:\n* a local identifier for the collection that is unique for the dataset;\n* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* an optional title and description for the collection;\n* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature')."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the description of a collection available from this service.",
        "tags" : [ "Data Collections" ]
      }
    },
    "/tilematrixsets" : {
      "get" : {
        "operationId" : "getTileMatrixSetsList",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/getTileMatrixSetsList_200_response"
                }
              }
            },
            "description" : "List of tile matrix sets (tiling schemes)."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the list of available tiling schemes (tile matrix sets)",
        "tags" : [ "Tiling Schemes" ]
      }
    },
    "/tilematrixsets/{tileMatrixSetId}" : {
      "get" : {
        "operationId" : "getTileMatrixSet",
        "parameters" : [ {
          "allowEmptyValue" : false,
          "description" : "Identifier for a supported TileMatrixSet",
          "in" : "path",
          "name" : "tileMatrixSetId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/TileMatrixSets"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileMatrixSet"
                }
              }
            },
            "description" : "tile matrix set"
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the definition of the specified tiling scheme (tile matrix set)",
        "tags" : [ "Tiling Schemes" ]
      }
    },
    "/collections/{collectionId}/tiles" : {
      "get" : {
        "operationId" : ".collection.vector.getTileSetsList",
        "parameters" : [ {
          "description" : "Local identifier of a collection",
          "in" : "path",
          "name" : "collectionId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/AllCollections"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/_collection_vector_getTileSetsList_200_response"
                }
              }
            },
            "description" : "List of available tilesets."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve a list of available vector tilesets for the specified collection.",
        "tags" : [ "Tile Sets" ]
      }
    },
    "/collections/{collectionId}/tiles/{tileMatrixSetId}" : {
      "get" : {
        "operationId" : ".collection.vector.getTileSet",
        "parameters" : [ {
          "description" : "Local identifier of a collection",
          "in" : "path",
          "name" : "collectionId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/AllCollections"
          }
        }, {
          "allowEmptyValue" : false,
          "description" : "Identifier for a supported TileMatrixSet",
          "in" : "path",
          "name" : "tileMatrixSetId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/TileSets"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            },
            "description" : "Description of the tileset"
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve the vector tileset metadata for the specified collection and tiling scheme (tile matrix set)",
        "tags" : [ "Tile Sets" ]
      }
    },
    "/collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {"security":[{"api-key":[],"api-key-header":[],"oauth2":[]}],
        "operationId" : ".collection.vector.getTile",
        "parameters" : [ {
          "description" : "Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.",
          "example" : "15",
          "in" : "path",
          "name" : "tileMatrix",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Row index of the tile on the selected TileMatrix.",
          "example" : 11179,
          "in" : "path",
          "name" : "tileRow",
          "required" : true,
          "schema" : {
            "minimum" : 0,
            "type" : "integer"
          }
        }, {
          "description" : "Column index of the tile on the selected TileMatrix.",
          "example" : 16558,
          "in" : "path",
          "name" : "tileCol",
          "required" : true,
          "schema" : {
            "minimum" : 0,
            "type" : "integer"
          }
        }, {
          "description" : "Local identifier of a collection",
          "in" : "path",
          "name" : "collectionId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/AllCollections"
          }
        }, {
          "allowEmptyValue" : false,
          "description" : "Identifier for a supported TileMatrixSet",
          "in" : "path",
          "name" : "tileMatrixSetId",
          "required" : true,
          "schema" : {
            "$ref" : "#/components/schemas/TileSets"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "format" : "binary",
                  "type" : "string"
                }
              }
            },
            "description" : "A vector tile returned as a response."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The request was not supported."
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
          },
          "405" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "The HTTP method requested is not supported. This endpoint only supports 'GET' requests."
          },
          "406" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A request header value was not supported."
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "A server error occurred."
          },
          "504" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exceptionDto"
                }
              }
            },
            "description" : "Gateway Timeout."
          }
        },
        "summary" : "Retrieve a vector tile from a collection.",
        "tags" : [ "Vector Tiles" ]
      }
    },
    "/collections/{collectionId}/tiles/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {"security":[{"api-key":[],"api-key-header":[],"oauth2":[]}],
        "operationId" : "3857.collection.vector.getTile",
        "parameters" : [ {
          "description" : "Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.",
          "example" : "15",
          "in" : "path",
          "name" : "tileMatrix",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "description" : "Row index of the tile on the selected TileMatrix.",
          "example" : 11179,
          "in" : "path",
          "name" : "tileRow",
          "required" : true,
          "schema" : {
        

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ordnance-survey/refs/heads/main/openapi/ordnance-survey-ngd-tiles-openapi.json