Skip to content

API Documentatie

De DAMS Collection API biedt programmatische toegang tot Open Vlacc. Deze RESTful API stelt ontwikkelaars in staat om entiteiten te beheren, te zoeken en te integreren met externe systemen.

Overzicht

EigenschapWaarde
Base URL
Versie1.0.0
AuthenticatieBearer Token (OAuth 2.0)
FormatenJSON, JSON-LD, CSV, RDF, Turtle, N-Triples

Endpoints

De API biedt de volgende endpoints:

Config

MethodeEndpointBeschrijving
GET/configHaal configuratie op

Entities

MethodeEndpointBeschrijving
GET/entitiesLijst van entiteiten ophalen
POST/entitiesNieuwe entiteit aanmaken
POST/entities/filterEntiteiten filteren
POST/entities/filter/resolvedEntiteiten filteren en relaties resolven
GET/entities/{id}Specifieke entiteit ophalen
PUT/entities/{id}Entiteit volledig bijwerken
PATCH/entities/{id}Entiteit gedeeltelijk bijwerken
DELETE/entities/{id}Entiteit verwijderen
GET/entities/wem/{manifestation_id}WEM data voor manifestatie

Authenticatie

De API gebruikt Bearer Token authenticatie. Voeg je token toe aan elke request:

bash
curl -X GET \
  "__API_BASE_URL__/entities" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response formaten

De API ondersteunt meerdere output formaten via de Accept header:

Accept HeaderFormaat
application/jsonJSON (standaard)
application/ld+jsonJSON-LD (Linked Data)
text/csvCSV
application/rdf+xmlRDF/XML
text/turtleTurtle
application/n-triplesN-Triples

Voorbeeld: JSON-LD response

bash
curl -X GET \
  "__API_BASE_URL__/entities" \
  -H "Accept: application/ld+json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Paginering

Gebruik limit en skip voor paginering:

bash
# Eerste 20 resultaten
/entities?limit=20&skip=0

# Volgende 20 resultaten
/entities?limit=20&skip=20

Filteren

Types

Filter op entiteiten hun subtypes:

Werken

bash
/entities?type=work_map
/entities?type=work_music
/entities?type=work_serial
/entities?type=work_footage
/entities?type=work_mixed_material
/entities?type=work_word
/entities?type=work_computer_file

Expressies

bash
/entities?type=easy_reading
/entities?type=reading
/entities?type=listening
/entities?type=playing
/entities?type=watching
/entities?type=orienting

Manifestaties

bash
/entities?type=manifestation_map
/entities?type=manifestation_music
/entities?type=manifestation_serial
/entities?type=manifestation_footage
/entities?type=manifestation_mixed_material
/entities?type=manifestation_word
/entities?type=manifestation_computer_file

Haal bewerkte entiteiten op

Met hulp van een date filter kan er in Elody gemakkelijk gefilterd worden op velden die een datum bevatten.

Om bevoorbeeld entiteiten op te halen die bewerkt zijn sinds een bepaalde datum, kan volgende filter ingesteld worden:

json
    {
        "type": "date",
        "key": ["vlacc:1|audit.updated.at"],
        "value": {"min": "2026-03-26", "included": true},
        "match_exact": true
    }
  • Included wijst op de vraag of entiteiten die bewerkt zijn op de meegegeven datum ook mee in het resultaat komen te staan.
  • Door een max key-value toe te voegen bij de value van de filter kan er tussen 2 datums gefilterd worden.
  • Deze filter kan met een POST op het endpoint entities/filter of entities/filter/resolved uitgevoerd worden.
    • TIP: Hierbij moet steeds een type- of selection filter toegevoegd worden om de betrokken entiteitstypes mee te geven.

Code voorbeelden

Python

python
import requests

BASE_URL = "__API_BASE_URL__"
TOKEN = "your_access_token"

headers = {
    "Authorization": f"Bearer {TOKEN}",
    "Accept": "application/json"
}

# Haal alle werken op
response = requests.get(
    f"{BASE_URL}/entities",
    headers=headers,
    params={"type": "work", "limit": 10}
)

entities = response.json()
for entity in entities:
    print(entity["title"])

JavaScript

javascript
const BASE_URL = '__API_BASE_URL__';
const TOKEN = 'your_access_token';

async function getEntities(type = 'work', limit = 10) {
  const response = await fetch(
    `${BASE_URL}/entities?type=${type}&limit=${limit}`,
    {
      headers: {
        'Authorization': `Bearer ${TOKEN}`,
        'Accept': 'application/json'
      }
    }
  );
  return response.json();
}

// Gebruik
const works = await getEntities('work', 10);
console.log(works);

Interactive API Reference

Bekijk de volledige interactieve API documentatie:

Interactieve documentatie

Ga naar de API Reference voor de volledige interactieve API documentatie met Scalar.

Support

Powered by Elody - Open Source Semantic Data Platform