{
  "openapi": "3.0.3",
  "info": {
    "title": "getAddress() Denmark",
    "description": "DAWA\u0027s API (Danmarks Adressers Web API) on DAR data: the same paths, query parameters, records, ids and error bodies, so DAWA code changes the host and adds \u0060api-key\u0060. Street names and postcodes are free; a record fetched, searched for or found by position is one look-up per record; an autocomplete answer that suggests addresses is one look-up. Supply your API key as the \u0060api-key\u0060 query parameter, the only place it is read from; an API key sent from a browser is refused, so browser code uses a domain token instead, in \u0060api-key\u0060 or in the path as \u0060/t/{domain-token}/...\u0060. Usage takes the subscription\u0027s admin key. Address data: DAR, \u00A9 Klimadatastyrelsen, CC BY 4.0.",
    "version": "1.0.0",
    "contact": {
      "email": "support@getaddress.io"
    }
  },
  "servers": [
    {
      "url": "https://api.getaddress.dk"
    }
  ],
  "security": [
    {
      "ApiKeyQuery": []
    }
  ],
  "tags": [
    {
      "name": "DAWA",
      "description": "DAWA-compatible address endpoints."
    }
  ],
  "paths": {
    "/autocomplete": {
      "get": {
        "operationId": "autocomplete",
        "summary": "Suggest street names, access addresses and addresses as the user types",
        "description": "DAWA\u0027s combined autocomplete, the one dawa-autocomplete2 calls. Starts at \u0060startfra\u0060, stops at \u0060type\u0060. An answer that suggests addresses or access addresses costs one look-up; street-name answers and empty answers are free.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "The text typed so far.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "caretpos",
            "in": "query",
            "required": false,
            "description": "Caret position in \u0060q\u0060; defaults to its end.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Where to stop: \u0060vejnavn\u0060, \u0060adgangsadresse\u0060 or \u0060adresse\u0060 (default).",
            "schema": {
              "type": "string",
              "enum": [
                "vejnavn",
                "adgangsadresse",
                "adresse"
              ],
              "default": "adresse"
            }
          },
          {
            "name": "startfra",
            "in": "query",
            "required": false,
            "description": "Where to start: \u0060vejnavn\u0060 (default), \u0060adgangsadresse\u0060 or \u0060adresse\u0060.",
            "schema": {
              "type": "string",
              "enum": [
                "vejnavn",
                "adgangsadresse",
                "adresse"
              ],
              "default": "vejnavn"
            }
          },
          {
            "name": "fuzzy",
            "in": "query",
            "required": false,
            "description": "Fuzzy matching on the last level searched. Present with no value means true.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "description": "Suggest the record with this id, at level \u0060type\u0060.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/adgangsadresseid"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "name": "supplerendebynavn",
            "in": "query",
            "required": false,
            "description": "Include the supplementary town name in suggestion texts.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "stormodtagerpostnumre",
            "in": "query",
            "required": false,
            "description": "Also suggest addresses under their large-recipient postcode.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "multilinje",
            "in": "query",
            "required": false,
            "description": "Break \u0060forslagstekst\u0060 over lines.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "$ref": "#/components/parameters/per_side_20"
          },
          {
            "$ref": "#/components/parameters/srid"
          }
        ],
        "responses": {
          "200": {
            "description": "Suggestions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "data": {
                      "id": "099f3e28-4fb8-4c61-86a1-edff5df52409",
                      "status": 1,
                      "darstatus": 3,
                      "vejkode": "0108",
                      "vejnavn": "Amagerbrogade",
                      "adresseringsvejnavn": "Amagerbrogade",
                      "husnr": "217A",
                      "supplerendebynavn": null,
                      "postnr": "2300",
                      "postnrnavn": "K\u00F8benhavn S",
                      "stormodtagerpostnr": null,
                      "stormodtagerpostnrnavn": null,
                      "kommunekode": "0101",
                      "x": 12.6135425,
                      "y": 55.6489036,
                      "href": "https://api.getaddress.dk/adgangsadresser/099f3e28-4fb8-4c61-86a1-edff5df52409"
                    },
                    "stormodtagerpostnr": false,
                    "type": "adgangsadresse",
                    "tekst": "Amagerbrogade 217A, 2300 K\u00F8benhavn S",
                    "forslagstekst": "Amagerbrogade 217A, 2300 K\u00F8benhavn S",
                    "caretpos": 36
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adresser/autocomplete": {
      "get": {
        "operationId": "adresserAutocomplete",
        "summary": "Suggest addresses",
        "description": "Addresses only, with floor and door, each with its mini record. One look-up per answer that is not empty.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/adgangsadresseid"
          },
          {
            "$ref": "#/components/parameters/vejnavn"
          },
          {
            "$ref": "#/components/parameters/vejkode"
          },
          {
            "$ref": "#/components/parameters/husnr"
          },
          {
            "$ref": "#/components/parameters/etage"
          },
          {
            "$ref": "#/components/parameters/doer"
          },
          {
            "$ref": "#/components/parameters/supplerendebynavn"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side_20"
          },
          {
            "$ref": "#/components/parameters/srid"
          }
        ],
        "responses": {
          "200": {
            "description": "Suggestions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "tekst": "Amagerbrogade 217A, kl. 5, 2300 K\u00F8benhavn S",
                    "adresse": {
                      "id": "3bba05d4-c8c4-4c90-8a64-a4dff11b9d1b",
                      "status": 1,
                      "darstatus": 3,
                      "vejkode": "0108",
                      "vejnavn": "Amagerbrogade",
                      "adresseringsvejnavn": "Amagerbrogade",
                      "husnr": "217A",
                      "etage": "kl",
                      "d\u00F8r": "5",
                      "supplerendebynavn": null,
                      "postnr": "2300",
                      "postnrnavn": "K\u00F8benhavn S",
                      "stormodtagerpostnr": null,
                      "stormodtagerpostnrnavn": null,
                      "kommunekode": "0101",
                      "adgangsadresseid": "099f3e28-4fb8-4c61-86a1-edff5df52409",
                      "x": 12.6135425,
                      "y": 55.6489036,
                      "href": "https://api.getaddress.dk/adresser/3bba05d4-c8c4-4c90-8a64-a4dff11b9d1b"
                    }
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adgangsadresser/autocomplete": {
      "get": {
        "operationId": "adgangsadresserAutocomplete",
        "summary": "Suggest access addresses",
        "description": "Access addresses only, each with its mini record. One look-up per answer that is not empty.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/vejnavn"
          },
          {
            "$ref": "#/components/parameters/vejkode"
          },
          {
            "$ref": "#/components/parameters/husnr"
          },
          {
            "$ref": "#/components/parameters/supplerendebynavn"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side_20"
          },
          {
            "$ref": "#/components/parameters/srid"
          }
        ],
        "responses": {
          "200": {
            "description": "Suggestions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "tekst": "Amagerbrogade 217A, 2300 K\u00F8benhavn S",
                    "adgangsadresse": {
                      "id": "099f3e28-4fb8-4c61-86a1-edff5df52409",
                      "status": 1,
                      "darstatus": 3,
                      "vejkode": "0108",
                      "vejnavn": "Amagerbrogade",
                      "adresseringsvejnavn": "Amagerbrogade",
                      "husnr": "217A",
                      "supplerendebynavn": null,
                      "postnr": "2300",
                      "postnrnavn": "K\u00F8benhavn S",
                      "stormodtagerpostnr": null,
                      "stormodtagerpostnrnavn": null,
                      "kommunekode": "0101",
                      "x": 12.6135425,
                      "y": 55.6489036,
                      "href": "https://api.getaddress.dk/adgangsadresser/099f3e28-4fb8-4c61-86a1-edff5df52409"
                    }
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/vejnavne/autocomplete": {
      "get": {
        "operationId": "vejnavneAutocomplete",
        "summary": "Suggest street names",
        "description": "Free, rate limited.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side_20"
          }
        ],
        "responses": {
          "200": {
            "description": "Suggestions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "tekst": "Biensvej",
                    "vejnavn": {
                      "navn": "Biensvej",
                      "href": "https://api.getaddress.dk/vejnavne/Biensvej"
                    }
                  },
                  {
                    "tekst": "Bientjevej",
                    "vejnavn": {
                      "navn": "Bientjevej",
                      "href": "https://api.getaddress.dk/vejnavne/Bientjevej"
                    }
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/postnumre/autocomplete": {
      "get": {
        "operationId": "postnumreAutocomplete",
        "summary": "Suggest postcodes",
        "description": "Free, rate limited.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "name": "nr",
            "in": "query",
            "required": false,
            "description": "Postcode numbers; several separated by \u0060|\u0060.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "navn",
            "in": "query",
            "required": false,
            "description": "Postcode name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side_20"
          }
        ],
        "responses": {
          "200": {
            "description": "Suggestions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "tekst": "2300 K\u00F8benhavn S",
                    "postnummer": {
                      "nr": "2300",
                      "navn": "K\u00F8benhavn S",
                      "stormodtager": false,
                      "visueltcenter_x": 12.6554181,
                      "visueltcenter_y": 55.67362511,
                      "href": "https://api.getaddress.dk/postnumre/2300"
                    }
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adresser/{id}": {
      "get": {
        "operationId": "adresse",
        "summary": "One address by id",
        "description": "One look-up. An id that is not found costs nothing.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The DAR UUID, the same id DAWA used.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/struktur"
          },
          {
            "$ref": "#/components/parameters/srid"
          },
          {
            "$ref": "#/components/parameters/format"
          }
        ],
        "responses": {
          "200": {
            "description": "The address.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "id": "3bba05d4-c8c4-4c90-8a64-a4dff11b9d1b",
                  "status": 1,
                  "darstatus": 3,
                  "vejkode": "0108",
                  "vejnavn": "Amagerbrogade",
                  "adresseringsvejnavn": "Amagerbrogade",
                  "husnr": "217A",
                  "etage": "kl",
                  "d\u00F8r": "5",
                  "supplerendebynavn": null,
                  "postnr": "2300",
                  "postnrnavn": "K\u00F8benhavn S",
                  "stormodtagerpostnr": null,
                  "stormodtagerpostnrnavn": null,
                  "kommunekode": "0101",
                  "adgangsadresseid": "099f3e28-4fb8-4c61-86a1-edff5df52409",
                  "x": 12.6135425,
                  "y": 55.6489036,
                  "href": "https://api.getaddress.dk/adresser/3bba05d4-c8c4-4c90-8a64-a4dff11b9d1b",
                  "betegnelse": "Amagerbrogade 217A, kl. 5, 2300 K\u00F8benhavn S"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adresser": {
      "get": {
        "operationId": "adresser",
        "summary": "Search addresses",
        "description": "A page of addresses matching the text and fields. One look-up per address returned. \u0060per_side\u0060 at most 100.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/adgangsadresseid"
          },
          {
            "$ref": "#/components/parameters/vejnavn"
          },
          {
            "$ref": "#/components/parameters/vejkode"
          },
          {
            "$ref": "#/components/parameters/husnr"
          },
          {
            "$ref": "#/components/parameters/etage"
          },
          {
            "$ref": "#/components/parameters/doer"
          },
          {
            "$ref": "#/components/parameters/supplerendebynavn"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side"
          },
          {
            "$ref": "#/components/parameters/struktur"
          },
          {
            "$ref": "#/components/parameters/srid"
          },
          {
            "$ref": "#/components/parameters/format"
          }
        ],
        "responses": {
          "200": {
            "description": "A page of addresses (a FeatureCollection with format=geojson).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "id": "415d291b-648c-4908-bfea-dc75aec543d1",
                    "status": 1,
                    "darstatus": 3,
                    "vejkode": "0108",
                    "vejnavn": "Amagerbrogade",
                    "adresseringsvejnavn": "Amagerbrogade",
                    "husnr": "217A",
                    "etage": null,
                    "d\u00F8r": null,
                    "supplerendebynavn": null,
                    "postnr": "2300",
                    "postnrnavn": "K\u00F8benhavn S",
                    "stormodtagerpostnr": null,
                    "stormodtagerpostnrnavn": null,
                    "kommunekode": "0101",
                    "adgangsadresseid": "099f3e28-4fb8-4c61-86a1-edff5df52409",
                    "x": 12.6135425,
                    "y": 55.6489036,
                    "href": "https://api.getaddress.dk/adresser/415d291b-648c-4908-bfea-dc75aec543d1",
                    "betegnelse": "Amagerbrogade 217A, 2300 K\u00F8benhavn S"
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adgangsadresser/{id}": {
      "get": {
        "operationId": "adgangsadresse",
        "summary": "One access address by id",
        "description": "One look-up. An id that is not found costs nothing.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The DAR UUID, the same id DAWA used.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/struktur"
          },
          {
            "$ref": "#/components/parameters/srid"
          },
          {
            "$ref": "#/components/parameters/format"
          }
        ],
        "responses": {
          "200": {
            "description": "The access address.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "id": "099f3e28-4fb8-4c61-86a1-edff5df52409",
                  "status": 1,
                  "darstatus": 3,
                  "vejkode": "0108",
                  "vejnavn": "Amagerbrogade",
                  "adresseringsvejnavn": "Amagerbrogade",
                  "husnr": "217A",
                  "supplerendebynavn": null,
                  "postnr": "2300",
                  "postnrnavn": "K\u00F8benhavn S",
                  "stormodtagerpostnr": null,
                  "stormodtagerpostnrnavn": null,
                  "kommunekode": "0101",
                  "x": 12.6135425,
                  "y": 55.6489036,
                  "href": "https://api.getaddress.dk/adgangsadresser/099f3e28-4fb8-4c61-86a1-edff5df52409",
                  "betegnelse": "Amagerbrogade 217A, 2300 K\u00F8benhavn S"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adgangsadresser": {
      "get": {
        "operationId": "adgangsadresser",
        "summary": "Search access addresses",
        "description": "A page of access addresses matching the text and fields. One look-up per access address returned. \u0060per_side\u0060 at most 100.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/vejnavn"
          },
          {
            "$ref": "#/components/parameters/vejkode"
          },
          {
            "$ref": "#/components/parameters/husnr"
          },
          {
            "$ref": "#/components/parameters/supplerendebynavn"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side"
          },
          {
            "$ref": "#/components/parameters/struktur"
          },
          {
            "$ref": "#/components/parameters/srid"
          },
          {
            "$ref": "#/components/parameters/format"
          }
        ],
        "responses": {
          "200": {
            "description": "A page of access addresses (a FeatureCollection with format=geojson).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/adgangsadresser/reverse": {
      "get": {
        "operationId": "adgangsadresseReverse",
        "summary": "The access address nearest a point",
        "description": "One look-up. 404 when there is none within reach.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "name": "x",
            "in": "query",
            "required": true,
            "description": "Longitude (srid 4326) or easting in metres (srid 25832).",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "y",
            "in": "query",
            "required": true,
            "description": "Latitude (srid 4326) or northing in metres (srid 25832).",
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/srid"
          },
          {
            "$ref": "#/components/parameters/struktur"
          },
          {
            "$ref": "#/components/parameters/format"
          }
        ],
        "responses": {
          "200": {
            "description": "The nearest access address.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/vejnavne": {
      "get": {
        "operationId": "vejnavne",
        "summary": "Street names",
        "description": "Street names with the postcodes and municipalities they run through. Free, rate limited. Pages, \u0060per_side\u0060 at most 100.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "$ref": "#/components/parameters/postnr"
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "$ref": "#/components/parameters/per_side"
          }
        ],
        "responses": {
          "200": {
            "description": "Street names.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "href": "https://api.getaddress.dk/vejnavne/Amagerbrogade",
                    "navn": "Amagerbrogade",
                    "postnumre": [
                      {
                        "href": "https://api.getaddress.dk/postnumre/2300",
                        "nr": "2300",
                        "navn": "K\u00F8benhavn S"
                      }
                    ],
                    "kommuner": [
                      {
                        "href": "https://api.getaddress.dk/kommuner/0101",
                        "kode": "0101",
                        "navn": "K\u00F8benhavn"
                      }
                    ]
                  }
                ]
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/vejnavne/{navn}": {
      "get": {
        "operationId": "vejnavn",
        "summary": "One street name",
        "description": "Free, rate limited.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "name": "navn",
            "in": "path",
            "required": true,
            "description": "The street name, spelt exactly.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The street name.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "href": "https://api.getaddress.dk/vejnavne/Amagerbrogade",
                  "navn": "Amagerbrogade",
                  "postnumre": [
                    {
                      "href": "https://api.getaddress.dk/postnumre/2300",
                      "nr": "2300",
                      "navn": "K\u00F8benhavn S"
                    }
                  ],
                  "kommuner": [
                    {
                      "href": "https://api.getaddress.dk/kommuner/0101",
                      "kode": "0101",
                      "navn": "K\u00F8benhavn"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/postnumre": {
      "get": {
        "operationId": "postnumre",
        "summary": "Denmark\u0027s postcodes",
        "description": "Free, rate limited. The whole list unless paged or filtered.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/q"
          },
          {
            "name": "nr",
            "in": "query",
            "required": false,
            "description": "Postcode numbers; several separated by \u0060|\u0060.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "navn",
            "in": "query",
            "required": false,
            "description": "Postcode name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/kommunekode"
          },
          {
            "$ref": "#/components/parameters/side"
          },
          {
            "name": "per_side",
            "in": "query",
            "required": false,
            "description": "Page size. Default: the whole list.",
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Postcodes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/QueryParameterFormatError"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/postnumre/{nr}": {
      "get": {
        "operationId": "postnummer",
        "summary": "One postcode",
        "description": "Free, rate limited.",
        "tags": [
          "DAWA"
        ],
        "parameters": [
          {
            "name": "nr",
            "in": "path",
            "required": true,
            "description": "Four-digit postcode.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The postcode.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "href": "https://api.getaddress.dk/postnumre/2300",
                  "nr": "2300",
                  "navn": "K\u00F8benhavn S",
                  "stormodtageradresser": null,
                  "bbox": [
                    12.50581966,
                    55.60982719,
                    12.71611239,
                    55.70883554
                  ],
                  "visueltcenter": [
                    12.6554181,
                    55.67362511
                  ],
                  "kommuner": [
                    {
                      "href": "https://api.getaddress.dk/kommuner/0101",
                      "kode": "0101",
                      "navn": "K\u00F8benhavn"
                    },
                    {
                      "href": "https://api.getaddress.dk/kommuner/0185",
                      "kode": "0185",
                      "navn": "T\u00E5rnby"
                    }
                  ],
                  "\u00E6ndret": "2023-03-24T22:28:38.837Z",
                  "geo_\u00E6ndret": "2023-03-24T22:28:38.837Z",
                  "geo_version": 9,
                  "dagi_id": "192300"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/usage": {
      "get": {
        "operationId": "usage",
        "summary": "Today\u0027s look-up usage",
        "description": "Returns today\u0027s metered look-up count (UTC) with the plan\u0027s daily limit and monthly buffer. Street names and postcodes are free and never counted. Requires the subscription\u0027s admin key; the address API key and domain tokens are refused. Also served at /v4/usage.",
        "responses": {
          "200": {
            "description": "Today\u0027s usage.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Usage"
                },
                "example": {
                  "date": "2026-09-14T00:00:00Z",
                  "usage_today": 42,
                  "daily_limit": 2000,
                  "monthly_buffer": 1000,
                  "monthly_buffer_used": 150
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key."
          },
          "403": {
            "description": "The key is valid but is not the subscription\u0027s admin key."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/usage/{day}/{month}/{year}": {
      "get": {
        "operationId": "usageForDay",
        "summary": "One day\u0027s look-up usage",
        "description": "Returns the metered look-up count for a single UTC day. Requires the subscription\u0027s admin key. Also served under /v4.",
        "parameters": [
          {
            "name": "day",
            "in": "path",
            "required": true,
            "description": "Day of the month, 1-31.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "month",
            "in": "path",
            "required": true,
            "description": "Month, 1-12.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "year",
            "in": "path",
            "required": true,
            "description": "Four-digit year.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "That day\u0027s usage.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Usage"
                }
              }
            }
          },
          "400": {
            "description": "The day, month and year are not a real date."
          },
          "401": {
            "description": "Missing or invalid API key."
          },
          "403": {
            "description": "The key is valid but is not the subscription\u0027s admin key."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/usage/from/{fromDay}/{fromMonth}/{fromYear}/to/{toDay}/{toMonth}/{toYear}": {
      "get": {
        "operationId": "usageForRange",
        "summary": "A range of daily look-up usage",
        "description": "Returns one row per UTC day across an inclusive range, newest first. Days with no look-ups are returned as zero rather than omitted. A range may not exceed 366 days. Requires the subscription\u0027s admin key. Also served under /v4.",
        "parameters": [
          {
            "name": "fromDay",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fromMonth",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "fromYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "toDay",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "toMonth",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "toYear",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "One row per day, newest first.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Usage"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Either end is not a real date, or the range is longer than 366 days."
          },
          "401": {
            "description": "Missing or invalid API key."
          },
          "403": {
            "description": "The key is valid but is not the subscription\u0027s admin key."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    },
    "/subscription/label": {
      "put": {
        "operationId": "renameSubscription",
        "summary": "Rename the subscription",
        "description": "Sets what the subscription is called in the console and in emails. Its name, keys, domain tokens and usage do not change. A blank label puts back the subscription\u0027s own name. Labels must be unique on the account, ignoring case. Requires the subscription\u0027s admin key; the address API key and domain tokens are refused.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "maxLength": 50,
                    "description": "What to call the subscription. Blank puts back its own name."
                  }
                }
              },
              "example": {
                "label": "Main site"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The subscription as it is now called.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The subscription\u0027s identifier. Never changes."
                    },
                    "label": {
                      "type": "string",
                      "description": "What the subscription is called."
                    }
                  }
                },
                "example": {
                  "name": "500-per-day",
                  "label": "Main site"
                }
              }
            }
          },
          "400": {
            "description": "The label is too long, or another subscription on the account is already called that."
          },
          "401": {
            "description": "Missing or invalid API key."
          },
          "403": {
            "description": "The key is valid but is not the subscription\u0027s admin key."
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "q": {
        "name": "q",
        "in": "query",
        "required": false,
        "description": "Text search: every word must be a word of the record; a word ending in \u0060*\u0060 may be the start of one.",
        "schema": {
          "type": "string"
        }
      },
      "struktur": {
        "name": "struktur",
        "in": "query",
        "required": false,
        "description": "Record structure: \u0060nestet\u0060 (default), \u0060flad\u0060 or \u0060mini\u0060.",
        "schema": {
          "type": "string",
          "enum": [
            "nestet",
            "flad",
            "mini"
          ],
          "default": "nestet"
        }
      },
      "srid": {
        "name": "srid",
        "in": "query",
        "required": false,
        "description": "Coordinate system: \u00604326\u0060 (WGS84, default) or \u006025832\u0060 (ETRS89 / UTM zone 32N).",
        "schema": {
          "type": "string",
          "enum": [
            "4326",
            "25832"
          ],
          "default": "4326"
        }
      },
      "format": {
        "name": "format",
        "in": "query",
        "required": false,
        "description": "\u0060json\u0060 (default) or \u0060geojson\u0060.",
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "geojson"
          ],
          "default": "json"
        }
      },
      "side": {
        "name": "side",
        "in": "query",
        "required": false,
        "description": "Page number, from 1.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "default": 1
        }
      },
      "per_side": {
        "name": "per_side",
        "in": "query",
        "required": false,
        "description": "Page size, at most 100. Default 100.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 100
        }
      },
      "per_side_20": {
        "name": "per_side",
        "in": "query",
        "required": false,
        "description": "Most suggestions to return, at most 100. Default 20.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        }
      },
      "postnr": {
        "name": "postnr",
        "in": "query",
        "required": false,
        "description": "Postcode, e.g. \u00602300\u0060; several separated by \u0060|\u0060.",
        "schema": {
          "type": "string"
        }
      },
      "kommunekode": {
        "name": "kommunekode",
        "in": "query",
        "required": false,
        "description": "Municipality code, e.g. \u00600101\u0060; several separated by \u0060|\u0060.",
        "schema": {
          "type": "string"
        }
      },
      "id": {
        "name": "id",
        "in": "query",
        "required": false,
        "description": "Record ids (UUIDs); several separated by \u0060|\u0060.",
        "schema": {
          "type": "string"
        }
      },
      "adgangsadresseid": {
        "name": "adgangsadresseid",
        "in": "query",
        "required": false,
        "description": "Only the addresses at this access address (UUID).",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "vejnavn": {
        "name": "vejnavn",
        "in": "query",
        "required": false,
        "description": "Street name.",
        "schema": {
          "type": "string"
        }
      },
      "vejkode": {
        "name": "vejkode",
        "in": "query",
        "required": false,
        "description": "Street code (with kommunekode).",
        "schema": {
          "type": "string"
        }
      },
      "husnr": {
        "name": "husnr",
        "in": "query",
        "required": false,
        "description": "House number, e.g. \u0060217A\u0060.",
        "schema": {
          "type": "string"
        }
      },
      "etage": {
        "name": "etage",
        "in": "query",
        "required": false,
        "description": "Floor, e.g. \u0060kl\u0060, \u0060st\u0060, \u00602\u0060. Empty means an address with no floor.",
        "schema": {
          "type": "string"
        }
      },
      "doer": {
        "name": "d\u00F8r",
        "in": "query",
        "required": false,
        "description": "Door, e.g. \u0060th\u0060, \u0060tv\u0060, \u00605\u0060. Empty means an address with no door.",
        "schema": {
          "type": "string"
        }
      },
      "supplerendebynavn": {
        "name": "supplerendebynavn",
        "in": "query",
        "required": false,
        "description": "Supplementary town name.",
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "RateLimited": {
        "description": "Rate limit exceeded.",
        "headers": {
          "Retry-After": {
            "description": "Seconds until a successful retry can be made.",
            "schema": {
              "type": "integer"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Missing or unknown api-key, or an API key sent from a browser. Problem details, code \u0060unauthorized\u0060."
      },
      "Forbidden": {
        "description": "The key may not do this (the admin key on an address endpoint, a domain token on /usage), or the subscription has ended. Problem details."
      },
      "QueryParameterFormatError": {
        "description": "DAWA\u0027s QueryParameterFormatError: one [parameter, message] pair per malformed parameter.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DawaError"
            },
            "example": {
              "type": "QueryParameterFormatError",
              "title": "One or more query parameters was ill-formed.",
              "details": [
                [
                  "per_side",
                  "notInteger"
                ]
              ]
            }
          }
        }
      },
      "NotFound": {
        "description": "DAWA\u0027s ResourceNotFoundError, or ResourcePathFormatError for a malformed id.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DawaError"
            },
            "example": {
              "type": "ResourceNotFoundError",
              "title": "The resource was not found",
              "details": {
                "id": "00000000-0000-0000-0000-000000000000"
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKeyQuery": {
        "type": "apiKey",
        "in": "query",
        "name": "api-key",
        "description": "API key, or a domain token for browser use. /usage and /subscription/label take the subscription\u0027s admin key here instead."
      }
    },
    "schemas": {
      "Usage": {
        "type": "object",
        "description": "One UTC day\u0027s metered look-ups for a subscription.",
        "required": [
          "date",
          "usage_today",
          "daily_limit",
          "monthly_buffer",
          "monthly_buffer_used"
        ],
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "The UTC day this row covers."
          },
          "usage_today": {
            "type": "integer",
            "format": "int64",
            "description": "Metered look-ups on that day."
          },
          "daily_limit": {
            "type": "integer",
            "description": "The plan\u0027s daily allowance. 2147483647 when the plan has no daily limit."
          },
          "monthly_buffer": {
            "type": "integer",
            "description": "The plan\u0027s monthly overflow allowance. 0 when the plan has none."
          },
          "monthly_buffer_used": {
            "type": "integer",
            "format": "int64",
            "description": "How much of the buffer the day\u0027s whole calendar month has used, so it repeats on every row of a month."
          }
        }
      },
      "DawaError": {
        "type": "object",
        "description": "DAWA\u0027s error body.",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "details": {}
        }
      }
    }
  }
}