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
| Eigenschap | Waarde |
|---|---|
| Base URL | … |
| Versie | 1.0.0 |
| Authenticatie | Bearer Token (OAuth 2.0) |
| Formaten | JSON, JSON-LD, CSV, RDF, Turtle, N-Triples |
Endpoints
De API biedt de volgende endpoints:
Config
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /config | Haal configuratie op |
Entities
| Methode | Endpoint | Beschrijving |
|---|---|---|
GET | /entities | Lijst van entiteiten ophalen |
POST | /entities | Nieuwe entiteit aanmaken |
POST | /entities/filter | Entiteiten filteren |
POST | /entities/filter/resolved | Entiteiten 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:
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 Header | Formaat |
|---|---|
application/json | JSON (standaard) |
application/ld+json | JSON-LD (Linked Data) |
text/csv | CSV |
application/rdf+xml | RDF/XML |
text/turtle | Turtle |
application/n-triples | N-Triples |
Voorbeeld: JSON-LD response
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:
# Eerste 20 resultaten
/entities?limit=20&skip=0
# Volgende 20 resultaten
/entities?limit=20&skip=20Filteren
Types
Filter op entiteiten hun subtypes:
Werken
/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_fileExpressies
/entities?type=easy_reading
/entities?type=reading
/entities?type=listening
/entities?type=playing
/entities?type=watching
/entities?type=orientingManifestaties
/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_fileHaal 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:
{
"type": "date",
"key": ["vlacc:1|audit.updated.at"],
"value": {"min": "2026-03-26", "included": true},
"match_exact": true
}Includedwijst op de vraag of entiteiten die bewerkt zijn op de meegegeven datum ook mee in het resultaat komen te staan.- Door een
maxkey-value toe te voegen bij de value van de filter kan er tussen 2 datums gefilterd worden. - Deze filter kan met een
POSTop het endpointentities/filterofentities/filter/resolveduitgevoerd worden.- TIP: Hierbij moet steeds een
type- of selection filtertoegevoegd worden om de betrokken entiteitstypes mee te geven.
- TIP: Hierbij moet steeds een
Code voorbeelden
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
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
- 📧 Developers: developers@inuits.eu
- 📖 Source: GitLab Repository