Design Museum Gent API v2
⚠️ v1 is deprecated
You are viewing the v2 API documentation. v1 is deprecated and will be sunset on 31 December 2026. The v1 documentation is archived here for reference. All new integrations should use v2 endpoints.
What's new in v2
| v1 | v2 | |
|---|---|---|
| Data model | Linked Art / OSLO | Pure CIDOC-CRM |
| Serialization | JSON-LD (mixed vocabularies) | JSON-LD (strict CIDOC-CRM) |
| Agent data | OSLO persoon# properties | crm:E21_Person, crm:P98i_was_born |
| Multilingual | single language fields | crm:E41_Appellation per language |
| Nationality | plain string | EU Publications Office URI |
| Biographies | crm:P3_has_note | crm:E33_Linguistic_Object + CC BY-SA |
| Color data | HEX + CSS names (separate endpoints) | crm:E36_Visual_Item + crm:E26_Physical_Feature |
| Collections | paginated with Hydra | paginated with Hydra + fullRecord support |
| Base URI | /v1/ | /v2/ |
Endpoints
Collections
Paginated lists of all records. Support ?fullRecord=true for bulk harvesting.
| Endpoint | URI pattern | Description |
|---|---|---|
| Objects | /v2/id/objects | Paginated collection of all objects |
| Agents | /v2/id/agents | Paginated collection of all agents |
| Concepts | /v2/id/concepts | Paginated collection of the thesaurus |
| Exhibitions | /v2/id/exhibitions | Paginated collection of all exhibitions |
Single entities
Single entities are retrieved using a unique identifier. All URIs are persistent and compliant with the Flemish URI standard.
| Endpoint | URI pattern | Description |
|---|---|---|
| Object | /v2/id/object/{PID} | Single collection object with full metadata, color data and IIIF |
| Agent | /v2/id/agent/{PID} | Person or organisation with authority links and Wikipedia biographies |
| Exhibition | /v2/id/exhibition/{PID} | Single exhibition with object links and multilingual descriptions |
| Concept | /v2/id/concept/{PID} | Thesaurus term with multilingual labels and hierarchy |
Quick links
| Type | Example |
|---|---|
| Object | 1987-1105 |
| Agent | DMG-A-00162 |
| Exhibition | TE_2020-001 |
| Concept | 530000049 |
| Objects collection | /v2/id/objects |
| Agents collection | /v2/id/agents |
Base URI
All v2 endpoints are served from: https://data.designmuseumgent.be/v2/
Response format
All endpoints return CIDOC-CRM compliant JSON-LD. Set your Accept header to application/ld+json:
curl -H "Accept: application/ld+json" \
https://data.designmuseumgent.be/v2/id/object/1987-1105
Pagination
Collection endpoints use Hydra Core Vocabulary for pagination. Each response includes a hydra:view object:
| Field | Description |
|---|---|
hydra:totalItems | Total number of records in the collection |
hydra:first | Link to the first page |
hydra:last | Link to the last page |
hydra:previous | Link to the previous page (omitted on first page) |
hydra:next | Link to the next page (omitted on last page) |
All active filters (fullRecord, hasImages, etc.) are automatically preserved in pagination links.
Harvesting
To harvest a full collection, follow hydra:next until it is absent:
async function harvest(url) {
const res = await fetch(url);
const data = await res.json();
// process data["hydra:member"] here
if (data["hydra:view"]["hydra:next"]) {
await harvest(data["hydra:view"]["hydra:next"]);
}
}
harvest('https://data.designmuseumgent.be/v2/id/objects?fullRecord=true&itemsPerPage=50');
Special HTTP responses
| Code | Description |
|---|---|
| 200 | Successful request |
| 301 | Object has been merged — follow the Location header for the canonical URI |
| 404 | Record not found |
| 410 | Object permanently removed from the collection |
| 429 | Rate limit exceeded — max 10 requests per minute |
| 500 | Server error |
Removed objects
Requesting a permanently removed object returns 410 Gone:
{ "error": "This object has been permanently removed from our collection." }
Merged objects
When an object has been merged into another record, the API returns 301 Moved Permanently with a Location header:
HTTP/1.1 301 Moved Permanently
Location: https://data.designmuseumgent.be/v2/id/object/1987-0858
Most HTTP clients follow redirects automatically. Make sure your client is configured to follow 301 redirects.
Vocabularies & standards
All v2 responses use the following namespaces:
| Prefix | Namespace | Used for |
|---|---|---|
crm | http://www.cidoc-crm.org/cidoc-crm/ | Core data model |
owl | https://www.w3.org/2002/07/owl# | Authority links (owl:sameAs) |
rdfs | http://www.w3.org/2000/01/rdf-schema# | Labels and comments |
xsd | http://www.w3.org/2001/XMLSchema# | Typed literals (dates, strings) |
prov | http://www.w3.org/ns/prov# | Provenance (prov:generatedAtTime) |
skos | http://www.w3.org/2004/02/skos/core# | Concept labels and hierarchy |
dcterms | http://purl.org/dc/terms/ | License and source attribution |
hydra | http://www.w3.org/ns/hydra/core# | Pagination (collections only) |
External authority vocabularies referenced in the data:
| Vocabulary | Used for |
|---|---|
| Getty AAT | Object types, materials, techniques, roles |
| Getty TGN | Places (birth, death, production) |
| Getty ULAN | Agent authority records |
| Wikidata | Agents, institutions, places |
| EU Publications Office — Language | Language tags on appellations and descriptions |
| EU Publications Office — Country | Nationality |
| EU Publications Office — Human Sex | Gender |
| Stad Gent datahub | Source URIs (owl:sameAs) |
| Wikipedia | Biographies and multilingual titles (CC BY-SA 4.0) |