components:
  schemas:
    AppHealthResponse:
      properties:
        app-health:
          properties:
            status:
              enum:
              - UP
              - DOWN
              type: string
          required:
          - status
          title: AppHealth
          type: object
      required:
      - app-health
      title: AppHealthResponse
      type: object
    AppHealthStatus:
      enum:
      - UP
      - DOWN
      type: string
    Error:
      description: Foutmelding
      properties:
        error:
          type: string
        message:
          type: string
        path:
          type: string
        status:
          type: integer
        timestamp:
          type: string
      type: object
    Geovalidatieopdracht:
      description: Geovalidatieobject voor doorgevan van validatieattributen.
      example:
        checksum: 7b7315b4918ad2e2b5d28859194be8d13ad0849f165458f06d670f07d8005f17
        grootte: 74260
        identificatie: referentie1234
        responsurl: https://overheid.nl/rapport
        url: http://lvbbod-test-omgeving.fto.kadaster.nl:80/document/beheer-upload/0aea977c-209d-407e-943e-cc9f2485edfc.zip
      properties:
        checksum:
          description: SHA256 checksum (64-hex chars)
          pattern: '[A-Fa-f0-9]{64}'
          type: string
        grootte:
          description: grootte bestand (Bytes)
          maximum: 1000000000
          minimum: 1
          type: integer
        identificatie:
          description: referentie van de opdracht
          pattern: ^[\w\._-]{0,100}$
          type: string
        responsurl:
          description: Naar deze HTTPS URL wordt het Rapport gestuurd wanneer verwerken
            van de Geovalidatieopdracht klaar is.
          example: https://gemeente.nl/api/rapport
          format: url
          type: string
        url:
          description: Locatie van de aangeboden ZIP (HTTPS URL).
          example: https://filestore.gemeente.nl/te-valideren-geometrieen.zip
          format: url
          type: string
      required:
      - checksum
      - grootte
      - identificatie
      - url
      type: object
    HealthResponse:
      properties:
        status:
          enum:
          - UP
          - DOWN
          type: string
      required:
      - status
      type: object
    Info:
      description: Informatie over deze API, bijvoorbeeld de versie van de API en
        de versie van de gebruikte standaarden
      properties:
        app-info:
          properties:
            description:
              description: Mens-leesbare beschrijving van deze API
              type: string
            gmlVersion:
              description: De versie van GML (http://www.opengeospatial.org/standards/gml)
                waarmee deze service valideert.
              type: string
            name:
              description: Mens-leesbare naam van deze API.
              type: string
            version:
              description: De versie van deze API zoals te lezen in de API spec en
                overeenkomende met de API-Version response header
              type: string
          type: object
      required:
      - app-info
      type: object
    Melding:
      description: Een validatiemelding in het Rapport.
      properties:
        code:
          description: code
          type: string
        detail:
          description: detail
          type: string
        ernst:
          description: ernst van de melding
          enum:
          - INFO
          - WARNING
          - ERROR
          - FATAL
          type: string
        objectIdentificatie:
          description: identificatie van het object waarover de melding gaat
          example: 0868A0B1-DA79-4C33-8305-1BDE0126FA9A
          type: string
        omschrijving:
          description: omschrijving
          type: string
      type: object
    Rapport:
      description: rapport
      properties:
        identificatie:
          description: De identificatie die de service teruggaf na het plaatsen van
            de Geovalidatieopdracht. Met deze identificatie kan het Rapport opgehaald
            worden.
          type: string
        meldingen:
          description: De validatiemeldingen.
          items:
            description: Een validatiemelding in het Rapport.
            properties:
              code:
                description: code
                type: string
              detail:
                description: detail
                type: string
              ernst:
                description: ernst van de melding
                enum:
                - INFO
                - WARNING
                - ERROR
                - FATAL
                type: string
              objectIdentificatie:
                description: identificatie van het object waarover de melding gaat
                example: 0868A0B1-DA79-4C33-8305-1BDE0126FA9A
                type: string
              omschrijving:
                description: omschrijving
                type: string
            type: object
          type: array
        referentie:
          description: De referentie die meegegeven werd door de client bij het plaatsen
            van de Geovalidatieopdracht. Komt overeen met Geovalidatieopdracht.identificatie.
          type: string
        status:
          description: Het resultaat van de valiatieopdracht (OK/NOK).
          type: string
      required:
      - identificatie
      type: object
    ResponsLocatie:
      description: Naar deze HTTPS URL wordt het Rapport gestuurd wanneer verwerken
        van de Geovalidatieopdracht klaar is.
      example: https://gemeente.nl/api/rapport
      format: url
      type: string
    ZipLocatie:
      description: Locatie van de aangeboden ZIP (HTTPS URL).
      example: https://filestore.gemeente.nl/te-valideren-geometrieen.zip
      format: url
      type: string
  securitySchemes:
    apiKey:
      description: |
        De API-key die je hebt gekregen dient bij elke request naar de
        API via de `x-api-key` request header meegestuurd te worden. Indien deze
        niet juist wordt meegestuurd, of het een ongeldige key betreft, zul je de
        foutmelding `403 Forbidden` terugkrijgen.
      in: header
      name: x-api-key
      type: apiKey
externalDocs:
  url: https://aandeslagmetdeomgevingswet.nl/ontwikkelaarsportaal/api-register/api/geo-validatieservice/
info:
  contact:
    name: Kadaster DSO - Team Ozon
    url: https://aandeslagmetdeomgevingswet.nl/ontwikkelaarsportaal/services/contact/
  description: |
    Ozon biedt een service om GML, meer in het algemeen Geometrische records, te valideren.
    Deze geovalidatieservice ontvangt een notificatie en verwerkt deze. De service wordt ook wel het geovalidatie aanlever koppelvlak genoemd.
    De Geovalidatieservice API volgt de standaarden zoals beschreven in de DSO API-strategie versie 2.0.
  termsOfService: https://aandeslagmetdeomgevingswet.nl/ontwikkelaarsportaal/services/fair-use-policy/
  title: Geo-validatieservice
  version: 1.4.1
openapi: 3.0.0
paths:
  /:
    post:
      callbacks:
        verstuurGeovalidatieRapport:
          '{$request.body#/responsurl}':
            put:
              operationId: putGeovalidatieRapport
              requestBody:
                content:
                  application/json:
                    schema:
                      description: rapport
                      properties:
                        identificatie:
                          description: De identificatie die de service teruggaf na
                            het plaatsen van de Geovalidatieopdracht. Met deze identificatie
                            kan het Rapport opgehaald worden.
                          type: string
                        meldingen:
                          description: De validatiemeldingen.
                          items:
                            description: Een validatiemelding in het Rapport.
                            properties:
                              code:
                                description: code
                                type: string
                              detail:
                                description: detail
                                type: string
                              ernst:
                                description: ernst van de melding
                                enum:
                                - INFO
                                - WARNING
                                - ERROR
                                - FATAL
                                type: string
                              objectIdentificatie:
                                description: identificatie van het object waarover
                                  de melding gaat
                                example: 0868A0B1-DA79-4C33-8305-1BDE0126FA9A
                                type: string
                              omschrijving:
                                description: omschrijving
                                type: string
                            type: object
                          type: array
                        referentie:
                          description: De referentie die meegegeven werd door de client
                            bij het plaatsen van de Geovalidatieopdracht. Komt overeen
                            met Geovalidatieopdracht.identificatie.
                          type: string
                        status:
                          description: Het resultaat van de valiatieopdracht (OK/NOK).
                          type: string
                      required:
                      - identificatie
                      type: object
              responses:
                "200":
                  description: GeovalidatieRapport geaccepteerd
                "400":
                  description: GeovalidatieRapport niet geaccepteerd
                "500":
                  description: Interne fout bij de verwerking van het GeovalidatieRapport
      operationId: geovalideren
      parameters:
      - explode: false
        in: header
        name: correlationid
        required: false
        schema:
          example: 00000001003214345000--00000001003214345000-opdracht_O_20220725_140247575_1
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              description: Geovalidatieobject voor doorgevan van validatieattributen.
              example:
                checksum: 7b7315b4918ad2e2b5d28859194be8d13ad0849f165458f06d670f07d8005f17
                grootte: 74260
                identificatie: referentie1234
                responsurl: https://overheid.nl/rapport
                url: http://lvbbod-test-omgeving.fto.kadaster.nl:80/document/beheer-upload/0aea977c-209d-407e-943e-cc9f2485edfc.zip
              properties:
                checksum:
                  description: SHA256 checksum (64-hex chars)
                  pattern: '[A-Fa-f0-9]{64}'
                  type: string
                grootte:
                  description: grootte bestand (Bytes)
                  maximum: 1000000000
                  minimum: 1
                  type: integer
                identificatie:
                  description: referentie van de opdracht
                  pattern: ^[\w\._-]{0,100}$
                  type: string
                responsurl:
                  description: Naar deze HTTPS URL wordt het Rapport gestuurd wanneer
                    verwerken van de Geovalidatieopdracht klaar is.
                  example: https://gemeente.nl/api/rapport
                  format: url
                  type: string
                url:
                  description: Locatie van de aangeboden ZIP (HTTPS URL).
                  example: https://filestore.gemeente.nl/te-valideren-geometrieen.zip
                  format: url
                  type: string
              required:
              - checksum
              - grootte
              - identificatie
              - url
              type: object
        description: Geovalidatieopdracht
        required: true
      responses:
        "200":
          content:
            text/plain:
              schema:
                type: string
          description: idLevering
        "400":
          content:
            application/json:
              schema:
                description: Foutmelding
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
                  status:
                    type: integer
                  timestamp:
                    type: string
                type: object
          description: Als de attributen invalide zijn
        "406":
          content:
            application/json:
              schema:
                description: Foutmelding
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
                  status:
                    type: integer
                  timestamp:
                    type: string
                type: object
          description: Als de attributen invalide zijn
        "422":
          content:
            application/json:
              schema:
                description: Foutmelding
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
                  status:
                    type: integer
                  timestamp:
                    type: string
                type: object
          description: Als de URL niet bereikbaar is, of de grootte niet in orde is
      summary: Een geovalidatieverzoek indienen
      tags:
      - Geovalideren
  /app-health:
    get:
      operationId: getAppHealth
      responses:
        "200":
          content:
            application/json:
              example:
                app-health:
                  status: UP
              schema:
                properties:
                  app-health:
                    properties:
                      status:
                        enum:
                        - UP
                        - DOWN
                        type: string
                    required:
                    - status
                    title: AppHealth
                    type: object
                required:
                - app-health
                title: AppHealthResponse
                type: object
          description: OK
        "503":
          content:
            application/json:
              example:
                app-health:
                  status: DOWN
              schema:
                properties:
                  app-health:
                    properties:
                      status:
                        enum:
                        - UP
                        - DOWN
                        type: string
                    required:
                    - status
                    title: AppHealth
                    type: object
                required:
                - app-health
                title: AppHealthResponse
                type: object
          description: Service unavailable
        default:
          content:
            application/problem+json:
              schema:
                description: Foutmelding
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
                  status:
                    type: integer
                  timestamp:
                    type: string
                type: object
          description: Onverwacht probleem
      summary: app-health info
      tags:
      - Meta
  /app-info:
    get:
      operationId: getInfo
      responses:
        "200":
          content:
            application/json:
              schema:
                description: Informatie over deze API, bijvoorbeeld de versie van
                  de API en de versie van de gebruikte standaarden
                properties:
                  app-info:
                    properties:
                      description:
                        description: Mens-leesbare beschrijving van deze API
                        type: string
                      gmlVersion:
                        description: De versie van GML (http://www.opengeospatial.org/standards/gml)
                          waarmee deze service valideert.
                        type: string
                      name:
                        description: Mens-leesbare naam van deze API.
                        type: string
                      version:
                        description: De versie van deze API zoals te lezen in de API
                          spec en overeenkomende met de API-Version response header
                        type: string
                    type: object
                required:
                - app-info
                type: object
          description: Info
        default:
          content:
            application/problem+json:
              schema:
                description: Foutmelding
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
                  status:
                    type: integer
                  timestamp:
                    type: string
                type: object
          description: Onverwacht probleem
      summary: applicatie info
      tags:
      - Meta
  /health:
    get:
      deprecated: true
      operationId: getHealth
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  status:
                    enum:
                    - UP
                    - DOWN
                    type: string
                required:
                - status
                type: object
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                description: Foutmelding
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  path:
                    type: string
                  status:
                    type: integer
                  timestamp:
                    type: string
                type: object
          description: Onverwacht probleem
      summary: Dit endpoint levert health informatie uit, maar volgt niet de DSO API-strategie
        en is daarom deprecated met /app-health als vervanger.
      tags:
      - Meta
  /rapport/{identificatie}:
    get:
      operationId: validatierapport
      parameters:
      - explode: false
        in: path
        name: identificatie
        required: true
        schema:
          type: string
        style: simple
      - explode: false
        in: header
        name: correlationid
        required: false
        schema:
          example: 00000001003214345000--00000001003214345000-opdracht_O_20220725_140247575_1
          type: string
        style: simple
      responses:
        "200":
          content:
            application/json:
              schema:
                description: rapport
                properties:
                  identificatie:
                    description: De identificatie die de service teruggaf na het plaatsen
                      van de Geovalidatieopdracht. Met deze identificatie kan het
                      Rapport opgehaald worden.
                    type: string
                  meldingen:
                    description: De validatiemeldingen.
                    items:
                      description: Een validatiemelding in het Rapport.
                      properties:
                        code:
                          description: code
                          type: string
                        detail:
                          description: detail
                          type: string
                        ernst:
                          description: ernst van de melding
                          enum:
                          - INFO
                          - WARNING
                          - ERROR
                          - FATAL
                          type: string
                        objectIdentificatie:
                          description: identificatie van het object waarover de melding
                            gaat
                          example: 0868A0B1-DA79-4C33-8305-1BDE0126FA9A
                          type: string
                        omschrijving:
                          description: omschrijving
                          type: string
                      type: object
                    type: array
                  referentie:
                    description: De referentie die meegegeven werd door de client
                      bij het plaatsen van de Geovalidatieopdracht. Komt overeen met
                      Geovalidatieopdracht.identificatie.
                    type: string
                  status:
                    description: Het resultaat van de valiatieopdracht (OK/NOK).
                    type: string
                required:
                - identificatie
                type: object
          description: Rapport
        "404":
          description: Rapport niet gevonden
      summary: Een geovalidatierapport opvragen
      tags:
      - Geovalideren
security:
- apiKey: []
servers:
- description: de API op deze server
  url: /publiek/geometrie/api/valideren/v1
- description: de API op de productieomgeving van DSO-LV
  url: https://service.omgevingswet.overheid.nl/publiek/geometrie/api/valideren/v1
- description: de API op de pre-productieomgeving van DSO-LV
  url: https://service.pre.omgevingswet.overheid.nl/publiek/geometrie/api/valideren/v1
tags:
- description: Geovalideren is een proces dat geometrische records kan valideren.
  name: Geovalideren
