{
    "openapi": "3.1.0",
    "info": {
        "title": "Verkeersborden download API",
        "description": "Actueel beeld en verkeersborden events",
        "version": "4.0"
    },
    "servers": [
        {
            "url": "https://wegkenmerken.ndw.nu/api",
            "description": "Generated server url"
        }
    ],
    "paths": {
        "/rest/static-road-data/traffic-signs/v4/events": {
            "get": {
                "tags": [
                    "traffic-sign-event-controller-v-4"
                ],
                "operationId": "getEvents",
                "parameters": [
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "maximum": 100,
                            "minimum": 1
                        }
                    },
                    {
                        "name": "countyCode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "pattern": "^GM\\d{4}$"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TrafficSignEventDtoV4"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/rest/static-road-data/traffic-signs/v4/current-state": {
            "get": {
                "tags": [
                    "current-state-controller-v-4"
                ],
                "operationId": "getCurrentStateCsvParam",
                "parameters": [
                    {
                        "name": "countyCode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "pattern": "^GM\\d{4}$"
                        }
                    },
                    {
                        "name": "rvvCode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "roadSectionId",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int32"
                            }
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "PLANNED",
                                "PLACED",
                                "REMOVED"
                            ]
                        }
                    },
                    {
                        "name": "roadAuthorityType",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "R",
                                "P",
                                "G",
                                "W",
                                "T"
                            ]
                        }
                    },
                    {
                        "name": "roadAuthorityCode",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "maxLength": 4,
                            "minLength": 0
                        }
                    },
                    {
                        "name": "bbox",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "bbox-crs",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },
                    {
                        "name": "crs",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/StreamingResponseBody"
                                }
                            },
                            "text/csv": {
                                "schema": {
                                    "$ref": "#/components/schemas/StreamingResponseBody"
                                }
                            },
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StreamingResponseBody"
                                }
                            },
                            "application/geo+json": {
                                "schema": {
                                    "$ref": "#/components/schemas/StreamingResponseBody"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/rest/static-road-data/traffic-signs/v4/collections": {
            "get": {
                "tags": [
                    "ogc-controller"
                ],
                "operationId": "getCollections",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/OgcCollections"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "CountyEventDtoV4": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string"
                    },
                    "townName": {
                        "type": "string"
                    }
                }
            },
            "LocationEventDtoV4": {
                "type": "object",
                "properties": {
                    "wgs84": {
                        "$ref": "#/components/schemas/Wgs84EventDtoV4"
                    },
                    "rd": {
                        "$ref": "#/components/schemas/RdCoordinatesEventDtoV4"
                    },
                    "placement": {
                        "type": "string"
                    },
                    "side": {
                        "type": "string"
                    },
                    "bearing": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "nenTurningDirection": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "fraction": {
                        "type": "number",
                        "format": "double"
                    },
                    "drivingDirection": {
                        "type": "string"
                    },
                    "road": {
                        "$ref": "#/components/schemas/RoadEventDtoV4"
                    },
                    "county": {
                        "$ref": "#/components/schemas/CountyEventDtoV4"
                    },
                    "bgtCode": {
                        "type": "string"
                    }
                }
            },
            "RdCoordinatesEventDtoV4": {
                "type": "object",
                "properties": {
                    "x": {
                        "type": "number",
                        "format": "double"
                    },
                    "y": {
                        "type": "number",
                        "format": "double"
                    }
                }
            },
            "RoadEventDtoV4": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "type": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "number": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "roadSectionId": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "nwbVersion": {
                        "type": "string",
                        "format": "date"
                    }
                }
            },
            "TextSignDtoV4": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "text": {
                        "type": "string"
                    },
                    "openingHours": {
                        "type": "string"
                    }
                }
            },
            "TrafficSignDetailsEventDtoV4": {
                "type": "object",
                "properties": {
                    "imageUrl": {
                        "type": "string"
                    },
                    "firstSeenOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "lastSeenOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "removedOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "placedOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "expectedPlacedOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "expectedRemovedOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "trafficOrderUrl": {
                        "type": "string"
                    }
                }
            },
            "TrafficSignEventDtoV4": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "uuid"
                    },
                    "externalId": {
                        "type": "string"
                    },
                    "validated": {
                        "type": "string"
                    },
                    "validatedOn": {
                        "type": "string",
                        "format": "date"
                    },
                    "rvvCode": {
                        "type": "string"
                    },
                    "blackCode": {
                        "type": "string"
                    },
                    "zoneCode": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "PLANNED",
                            "PLACED",
                            "REMOVED"
                        ]
                    },
                    "textSigns": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/TextSignDtoV4"
                        }
                    },
                    "location": {
                        "$ref": "#/components/schemas/LocationEventDtoV4"
                    },
                    "details": {
                        "$ref": "#/components/schemas/TrafficSignDetailsEventDtoV4"
                    }
                }
            },
            "Wgs84EventDtoV4": {
                "type": "object",
                "properties": {
                    "latitude": {
                        "type": "number",
                        "format": "double"
                    },
                    "longitude": {
                        "type": "number",
                        "format": "double"
                    }
                }
            },
            "StreamingResponseBody": {
                "type": "object"
            },
            "OgcCollections": {
                "type": "object",
                "properties": {
                    "crs": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "uri"
                        }
                    }
                }
            }
        }
    }
}
