# info.description
## Documentatie

De GPP-zoeken-API voorziet in een interface met de onderliggende zoekmachine 
(Elastic Search).

Via deze API is het mogelijk om:

* publicaties en documenten beschikbaar te maken voor zoeken
* achtergrondtaken inplannen om publicaties en documenten te verwijderen wanneer deze
  ingetrokken worden, zodat ze niet meer beschikbaar zijn voor zoeken
* zoekopdrachten (met facets) uitvoeren om publicaties en/of documenten te vinden

Wanneer een document geïndexeerd wordt met een ondersteund bestandsformaat (zie 
[Apache Tika](https://tika.apache.org/1.10/formats.html)), dan wordt de tekstuele
inhoud van het bestand ook in de index opgenomen en zoekopdrachten zullen deze inhoud
doorzoeken.

**Authentication**

Deze API maakt gebruik van API Key authenticatie. Alle requests moeten gebruik maken van de `Authorization: Token <token-value>` HTTP header (`<token-value>` wordt vervangen met de echte API sleutel). De API-sleutels worden beheerd in het beheerinterface, deze sleutels kan je verkrijgen door een administrator te benaderen.

# paths./api/v1/documenten.post.description
Indexeer de documentmetadata van de Register API in Elasticsearch.

# paths./api/v1/documenten/{uuid}.delete.description
Verwijder de documentgegevens uit de index.
Merk op dat dit een achtergrondtaak inplant om de data te verwijderen.

# paths./api/v1/onderwerpen.post.description
Indexeer de onderwerpmetadata van de Register API in Elasticsearch.

# paths./api/v1/onderwerpen/{uuid}.delete.description
Verwijder de onderwerpgegevens uit de index.
Merk op dat dit een achtergrondtaak inplant om de data te verwijderen.

# paths./api/v1/publicaties.post.description
Indexeer de publicatiemetadata van de Register API in Elasticsearch.

# paths./api/v1/publicaties/{uuid}.delete.description
Verwijder de publicatiedata uit de index.
Merk op dat dit een achtergrondtaak inplant om de data te verwijderen.

# paths./api/v1/search.post.description
Zoek binnen de publicatie- en/of documenten-records.

# components.schemas.Document.properties.publicatie.description
De unieke identificatie van de publicatie.

# components.schemas.Document.properties.informatieCategorieen.description
De informatiecategorieën van de publicatie waar het document bij hoort.

# components.schemas.Document.properties.onderwerpen.description
De onderwerpen gekoppeld aan de publicatie waar het document bijhoort. Onderwerpen gaan over maatschappelijk relevante informatie die meerdere publicaties omvatten. Ze kunnen tientallen jaren relevant blijven en overstijgen de typische levensduur van een enkele publicatie.

# components.schemas.Document.properties.publisher.description
De organisatie die de publicatie waartoe dit document hoort heeft gepubliceerd.

# components.schemas.Document.properties.identifiers.items.description
An identifier specific to this document. Note that multiple documents can share identifiers, as additional context is required to uniquely identify it, but this context is deliberately not indexed.

# components.schemas.Document.properties.identifiers.description
The document identifiers attached to this document.

# components.schemas.Document.properties.creatiedatum.description
De datum waarop het document ontstaan is. Niet te verwarren met de registratiedatum - de creatiedatum valt typisch *voor* de registratiedatum.

# components.schemas.Document.properties.gepubliceerdOp.description
System timestamp reflecting when the document was published in the GPP-Publicatiebank.

# components.schemas.Document.properties.registratiedatum.description
Systeemdatum en -tijd wanneer het document geregistreed was in de GPP-Publicatiebank. Niet te verwarren met de creatiedatum van de publicatie, die typisch *voor* de registratiedatum valt.

# components.schemas.Document.properties.laatstGewijzigdDatum.description
Systeemdatum en -tijd wanneer het document laatst gewijzigd is in de GPP-Publicatiebank.

# components.schemas.DocumentIndex.properties.publicatie.description
De unieke identificatie van de publicatie.

# components.schemas.DocumentIndex.properties.informatieCategorieen.description
De informatiecategorieën van de publicatie waar het document bij hoort.

# components.schemas.DocumentIndex.properties.onderwerpen.description
De onderwerpen gekoppeld aan de publicatie waar het document bijhoort. Onderwerpen gaan over maatschappelijk relevante informatie die meerdere publicaties omvatten. Ze kunnen tientallen jaren relevant blijven en overstijgen de typische levensduur van een enkele publicatie.

# components.schemas.DocumentIndex.properties.publisher.description
De organisatie die de publicatie waartoe dit document hoort heeft gepubliceerd.

# components.schemas.DocumentIndex.properties.identifiers.items.description
An identifier specific to this document. Note that multiple documents can share identifiers, as additional context is required to uniquely identify it, but this context is deliberately not indexed.

# components.schemas.DocumentIndex.properties.identifiers.description
The document identifiers attached to this document.

# components.schemas.DocumentIndex.properties.creatiedatum.description
De datum waarop het document ontstaan is. Niet te verwarren met de registratiedatum - de creatiedatum valt typisch *voor* de registratiedatum.

# components.schemas.DocumentIndex.properties.gepubliceerdOp.description
System timestamp reflecting when the document was published in the GPP-Publicatiebank.

# components.schemas.DocumentIndex.properties.registratiedatum.description
Systeemdatum en -tijd wanneer het document geregistreed was in de GPP-Publicatiebank. Niet te verwarren met de creatiedatum van de publicatie, die typisch *voor* de registratiedatum valt.

# components.schemas.DocumentIndex.properties.laatstGewijzigdDatum.description
Systeemdatum en -tijd wanneer het document laatst gewijzigd is in de GPP-Publicatiebank.

# components.schemas.DocumentIndex.properties.downloadUrl.description
De URL waar het document gedownload kan worden om de inhoud te indexeren.

# components.schemas.DocumentIndex.properties.fileSize.description
De bestandsgrootte van het document op de harde schijf, in bytes.

# components.schemas.InformationCategoryBucket.properties.uuid.description
Het unieke ID die de informatiecategorie identificeert in de GPP-publicatiebank.

# components.schemas.InformationCategoryBucket.properties.count.description
Het aantal zoekresultaten de gelinkt zijn aan deze categorie.

# components.schemas.Publication.properties.publisher.description
De organisatie die de publicatie publiceert.

# components.schemas.Publication.properties.informatieCategorieen.description
De informatiecategorie verduidelijkt de soort informatie die in de publicatie voorkomt.

# components.schemas.Publication.properties.onderwerpen.description
Onderwerpen gaan over maatschappelijk relevante informatie die meerdere publicaties omvatten. Ze kunnen tientallen jaren relevant blijven en overstijgen de typische levensduur van een enkele publicatie.

# components.schemas.Publication.properties.identifiers.items.description
An identifier specific to this publication. Note that multiple publications can share identifiers, as additional context is required to uniquely identify it, but this context is deliberately not indexed.

# components.schemas.Publication.properties.identifiers.description
The publication identifiers attached to this publication.

# components.schemas.Publication.properties.registratiedatum.description
Systeemdatum en -tijd wanneer de publicatie geregistreed was is in de GPP-Publicatiebank.

# components.schemas.Publication.properties.gepubliceerdOp.description
System timestamp reflecting when the publication was published in the GPP-Publicatiebank.

# components.schemas.Publication.properties.laatstGewijzigdDatum.description
Systeemdatum en -tijd wanneer de publicatie laatst gewijzigd is in de GPP-Publicatiebank.

# components.schemas.Publication.properties.datumBeginGeldigheid.description
The date when the rights and obligations of the attached documents come into effect.

# components.schemas.Publication.properties.datumEindeGeldigheid.description
The date when the rights and obligations of the attached documents stops being in effect.

# components.schemas.PublisherBucket.properties.uuid.description
Het unieke ID die de publisher identificeert in de GPP-publicatiebank.

# components.schemas.PublisherBucket.properties.count.description
Het aantal zoekresultaten gepubliceerd door deze organisatie.

# components.schemas.ResultTypeBucket.properties.naam.description
Geeft de type record/index aan die gevonden is.

* `publication` - Publicatie
* `document` - Document
* `topic` - Onderwerp

# components.schemas.ResultTypeBucket.properties.count.description
Het aantal zoekresultaten voor deze specifieke record type/index.

# components.schemas.ResultTypesEnum.description
* `publication` - Publicatie
* `document` - Document
* `topic` - Onderwerp

# components.schemas.Search.properties.query.description
Filtering records based on the provided search term. This search query is applied to the data within the following fields (with priority based on the order below):

- `identifiers`
- `officieleTitel`
- `verkorteTitel`
- `omschrijving`
- `document content` **field only present in Document*

You can use double quotes for exact matches and `AND`/`OR` syntax for complex queries.

# components.schemas.Search.properties.page.description
Een paginanummer binnen de gepagineerde resultaatset.

# components.schemas.Search.properties.pageSize.description
De hoeveelheid resultaten die getoond worden per pagina.

# components.schemas.Search.properties.resultTypes.description
Geef aan welke soort zoekresultaten je wil terugkrijgen. Indien je deze parameter leeg- of weglaat, of een lege lijst opgeeft, dan krijg je alle soorten terug.

# components.schemas.Search.properties.registratiedatumVanaf.description
Filter resultaten die geregistreerd zijn op of na het opgegeven moment.

# components.schemas.Search.properties.registratiedatumTot.description
Filter resultaten die geregistreerd zijn voor het opgegeven moment.

# components.schemas.Search.properties.gepubliceerdOpVanaf.description
Filter results published after or on the given value. **Disclaimer**: this field will also search on the registration date of `Topics`.

# components.schemas.Search.properties.gepubliceerdOpTot.description
Filter results published before the given value.**Disclaimer**: this field will also search on the registration date of `Topics`.

# components.schemas.Search.properties.laatstGewijzigdDatumVanaf.description
Filter resultaten die laatst gewijzigd zijn op of na het opgegeven moment.

# components.schemas.Search.properties.laatstGewijzigdDatumTot.description
Filter resultaten die laatst gewijzigd zijn voor het opgegeven moment.

# components.schemas.Search.properties.creatiedatumVanaf.description
Filter documenten die gecreëerd waren op of na de gegeven datum.

# components.schemas.Search.properties.creatiedatumTotEnMet.description
Filter documenten die gecreëerd waren voor of op de gegeven datum.

# components.schemas.Search.properties.datumBeginGeldigheidVanaf.description
Filter publications that came into affect after or on the given value.

# components.schemas.Search.properties.datumBeginGeldigheidTot.description
Filter publications that came into affect before the given value.

# components.schemas.Search.properties.datumEindeGeldigheidVanaf.description
Filter publications that stopped being in effect after or on the given value.

# components.schemas.Search.properties.datumEindeGeldigheidTot.description
Filter publications that stopped being in effect before the given value.

# components.schemas.Search.properties.publishers.description
Filter resultaten gepubliceerd door (één van) de gegeven publishers `uuid`.

# components.schemas.Search.properties.informatieCategorieen.description
Filter resultaten gepubliceerd door (één van) de gegeven categorieën `uuid`.

# components.schemas.Search.properties.onderwerpen.description
Filter resultaten gepubliceerd door (één van) de gegeven onderwerpen `uuid`.

# components.schemas.SearchResultsShared.description
Polymorphic serializer base class.

Note that the discriminator field must exist at the same depth as the mapped
serializer fields for the OpenAPI introspection. See
https://swagger.io/docs/specification/data-models/inheritance-and-polymorphism/ for
more information. As such, it's not possible to define something like:

{
    "object_type": "foo",
    "polymorphic_context": {
        <foo-specific fields>
    }
}

without explicitly wrapping this in a parent serializer, i.e. -
``polymorphic_context`` can not be a PolymorphicSerializer itself, as it requires
access to the ``object_type`` in the parent scope.

# components.schemas.SortEnum.description
* `relevance` - Relevantie
* `chronological` - Chronologisch

# components.schemas.Topic.properties.registratiedatum.description
Systeemdatum en -tijd wanneer het onderwerp geregistreed was is in de GPP-Publicatiebank.

# components.schemas.Topic.properties.gepubliceerdOp.description
Convenience field which is a carbon copy of the registratiedatum data.

# components.schemas.Topic.properties.laatstGewijzigdDatum.description
Systeemdatum en -tijd wanneer het onderwerp laatst gewijzigd is in de GPP-Publicatiebank.

# components.schemas.TopicBucket.properties.uuid.description
Het unieke ID die het onderwerp identificeert in de GPP-publicatiebank.

# components.schemas.TopicBucket.properties.count.description
Het aantal zoekresultaten de gelinkt zijn aan dit onderwerp.

# components.securitySchemes.tokenAuth.description
Token-based authentication with required prefix "Token"