Linked Art API Reference Notes
Last refreshed: 2026-07-06
This section is Meta Museum's local working index for Linked Art API 1.0 reference material. It is designed for implementers and agents working in this repository: short enough to scan, source-linked enough to verify, and structured enough to map future code/test work to the official API.
Source: Linked Art API 1.0, published by the Linked Art Editorial Board under CC BY 4.0. These notes are derivative summaries for project use; the upstream Linked Art pages remain authoritative.
Scope
Linked Art separates the application profile from any particular protocol, then defines a web API for conforming publishers. The API is built around:
- Core entity description endpoints that return Linked Art JSON-LD.
- Shared data structures for names, identifiers, statements, dimensions, rights, references, and assignments.
- HAL `_links` for versioning, searches, related resources, and cross-format navigation.
- Search response shape without requiring one query language.
- Discovery APIs for harvesting, synchronization, and HTML-to-data signposting.
- Protocol rules for HTTP(S), JSON-LD, content negotiation, and versioning.
- JSON Schema definitions for endpoint response validation.
Local Reference Pages
The captured core entity endpoint notes are:
- Abstract Works(abstract-works.md) - `PropositionalObject` records for abstract/conceptual works, exhibition ideas, performance concepts, and similar non-text/non-visual works.
- Concepts(concepts.md) - full records for `Type`, `Material`, `Language`, `Currency`, and `MeasurementUnit` concepts.
- Digital Objects(digital-objects.md) - `DigitalObject` and `DigitalService` descriptions, access points, IIIF conformance, format metadata, and digital carrier/showing relationships.
- Events(events.md) - standalone `Period`, `Event`, and `Activity` records, including timespans, places, actor responsibility, causation, influence, and relative temporal ordering.
- Groups(groups.md) - `Group` actor records for organizations, families, departments, societies, and other identifiable sets of people or subgroups.
- People(people.md) - `Person` actor records for artists, collectors, curators, conservators, staff, and other people connected to art activities.
- Physical Objects(physical-objects.md) - `HumanMadeObject` records for tangible artworks, carriers, parts, ownership/custody/location state, content carried or shown, lifecycle events, and provenance.
- Places(places.md) - `Place` records for spatial extents, WKT geometry, spatial hierarchy, current locations, activity locations, movement origins/destinations, and residences.
- Provenance Activities(provenance-activities.md) - provenance wrapper `Activity`/`Event` records with required Provenance Activity classification and detailed `part[]` entries for acquisition, payment, custody, encounter, rights, movement, promise, and indeterminate transfer evidence.
- Sets(sets.md) - `Set` records for collections, exhibition object groups, archival groupings, auction lots, concept schemes, and other aggregations, with membership discovered from member records.
- Textual Works(textual-works.md) - `LinguisticObject` records for texts, including language, content, subject matter, authorship, publication activity, rights, and physical/digital carrier boundaries.
- Visual Works(visual-works.md) - `VisualItem` records for image content, including aboutness, representation, depicted types, creation, rights, and physical/digital showing relationships.
The captured API support notes are:
- JSON Schemas(json-schemas.md) - official endpoint schema catalog and local schema checklists.
- HAL(hal.md) - non-semantic `_links` metadata for `self`, CURIEs, API/model versions, alternate representations, Change Discovery collections, named relation-search links such as `activityUsedObject`, `workRepresentsAgent`, `activityTookPlaceAtPlace`, and `agentActiveAtPlace`, plus the complete 95-name upstream relation inventory extracted from the cloned Linked Art mirror.
- Search(search.md) - Linked Art Search API response shape for HAL relation-search and other result pages, including `OrderedCollectionPage`, embedded `OrderedCollection`, `orderedItems`, pagination links, and Meta Museum's current `nextPage`/`prevPage` compatibility refinement target.
- Discovery(discovery.md) - HTML `describedby` signposting, FAIR Signposting alignment, IIIF Change Discovery harvesting, Linked Art record-types context usage, and Meta Museum's current one-canonical-link and activity/dataset discovery coverage.
- Design Principles(design-principles.md) - IIIF-derived API design rules for use-case scope, internationalization, simplicity, REST/cacheability, JSON-LD, standards, extensibility, network access, layer boundaries, embedding, inverse relationships, and opaque URIs.
- JSON-LD Considerations(json-ld-considerations.md) - Linked Art context, profile media type, case sensitivity, array discipline, `id`/`type` aliases, scoped context naming, plain-JSON usability, and RDF compatibility rules.
- Protocol(protocol.md) - HTTP(S), REST retrieval scope, `GET`/`OPTIONS`/optional `HEAD`, content negotiation, CORS, version profile URIs, persistent URI practice, endpoint names, and opaque URI rules.
- Code And Tools(code-and-tools.md) - Linked Art ecosystem libraries, platforms, documentation aids, validators, visualization tools, and data-cleaning resources for implementation planning.
- Bibliography(bibliography.md) - scholarly and technical sources for Linked Art, LOUD, provenance, semantic annotation, image archives, and cross-collection discovery claims.
- CDWA Mapping(cdwa-mapping.md) - CDWA-to-Linked-Art crosswalk for object, title, creation, measurement, material, activity, provenance, visual, textual, and authority fields.
- Schema.org Mapping(schema-org-mapping.md) - Linked-Art-to-Schema.org projection rules for structured web data across people, organizations, places, concepts, objects, digital objects, works, events, and sets.
- Abstract Work Schema(schema-abstract-work.md) - expanded `abstract.json` notes for `PropositionalObject` required fields, permitted top-level fields, nested structures, and `created_by` activity shape.
- Concept Schema(schema-concept.md) - expanded `concept.json` notes for `crm:E55_Type`, concept subclasses, embedded statements/representations, creation activity, and `broader` hierarchy.
- Digital Object Schema(schema-digital-object.md) - expanded `digital.json` notes for `dig:D1_Digital_Object`, access points, formats, conformance, digital services, carried/shown content, and activity evidence.
- Event Schema(schema-event.md) - expanded `event.json` notes for `Period`, `Event`, and `Activity`, including timespans, places, temporal ordering, causation, actor responsibility, participants, and techniques.
- Group Schema(schema-group.md) - expanded `group.json` notes for `crm:E74_Group`, group membership, performed/participated activities, contact points, residences, formation, and dissolution.
- Person Schema(schema-person.md) - expanded `person.json` notes for `crm:E21_Person`, group membership, performed/participated activities, contact points, residences, birth, and death.
- Physical Object Schema(schema-physical-object.md) - expanded `object.json` notes for `crm:E22_Human-Made_Object`, current ownership/custody/location, materials, parts, content relationships, lifecycle, and provenance activities.
- Place Schema(schema-place.md) - expanded `place.json` notes for `crm:E53_Place`, spatial geometry, larger-place hierarchy, representations, subject pages, and incoming object/activity/actor place references.
- Provenance Activity Schema(schema-provenance-activity.md) - expanded `provenance.json` notes for `crm:E7_Activity`, required provenance classifications, temporal/activity fields, and detailed `part[]` transfer, payment, encounter, move, and rights-change evidence.
- Set Schema(schema-set.md) - expanded `set.json` notes for `la:Set`, parent set membership, physical member containers, exemplar templates, collection topics, dimensions, and set activity evidence.
- Textual Work Schema(schema-textual-work.md) - expanded `text.json` notes for `crm:E33_Linguistic_Object`, textual content, language, format, rights, aboutness, part relationships, carrier boundaries, and creation/use activity evidence.
- Visual Work Schema(schema-visual-work.md) - expanded `image.json` notes for `crm:E36_Visual_Item`, visual aboutness, represented entities, represented types, rights, dimensions, carrier boundaries, and creation/use activity evidence.
- Shared Structures(shared-structures.md) - reusable embedded structures for activities, digital links, dimensions, identifiers, monetary amounts, names, rights, references, statements, timespans, concepts, and relationship assignments, including inherited context and `_complete: false` dereference rules.
- Shared Activities(shared-activities.md) - embedded `Creation`, `Production`, `Formation`, `Dissolution`, `Birth`, `Death`, `PartRemoval`, `Modification`, `Destruction`, `Encounter`, and generic `Activity` structures, including incoming relationship names and `_complete: false` activity URI rules.
- Shared Digital Links(shared-digital-links.md) - nested `VisualItem`/`LinguisticObject` plus `DigitalObject` structures for images, web pages, access points, digital services, media types, and conformance references.
- Shared Dimensions(shared-dimensions.md) - embedded `Dimension` structures with numeric values, measurement units, classification, display labels, uncertainty bounds, duration usage, and `assigned_by` measurement evidence.
- Shared Concept References(shared-concept-references.md) - compact `Type`, `Language`, `Material`, `Currency`, and `MeasurementUnit` references for classification, vocabulary alignment, notation, and concept meta-classification.
- Shared Identifiers(shared-identifiers.md) - embedded `Identifier` structures for accession numbers, system identifiers, contact points, classification, notes, and assignment provenance.
- Shared Monetary Amounts(shared-monetary-amounts.md) - embedded `MonetaryAmount` structures with numeric values, `Currency` references, classifications, display labels, uncertainty bounds, notes, and payment/auction-lot usage.
- Shared Names(shared-names.md) - embedded `Name` structures for linguistic labels, language tagging, classified name types, nested name parts, statements, and assignment provenance.
- Shared Rights(shared-rights.md) - embedded `Right` structures for machine-comparable rights assertions, license classifications, rights holders, statements, and `subject_to` usage on intellectual works.
- Shared References(shared-references.md) - compact `id`/`type`/`_label` references to other resources, with optional `equivalent` and `notation`, and no `_complete` field.
- Shared Statements(shared-statements.md) - embedded `LinguisticObject` descriptions and notes with content, language, classification, labels, rights, creation evidence, and nested statements.
- Shared TimeSpans(shared-timespans.md) - embedded `TimeSpan` structures for fuzzy temporal boundaries, display labels, notes, duration dimensions, and minimum content requirements.
- Shared Relationships(shared-relationships.md) - embedded `AttributeAssignment` structures for asserted relationships, assignment provenance, `assigned_property`, and arbitrary related-entity links.
Project Use
When adding API conformance work, use this local section as a checklist:
- Confirm the official upstream page and version.
- Add or update a local endpoint note with source URL, required type, required fields, recommended fields, optional fields, incoming relationship patterns, and current Meta Museum coverage.
- Add executable tests when a page reveals a behavior we can prove locally.
- Update `README.md` and `docs/roadmap.md` when the reference materially changes project coverage or evidence.
Refinement Targets
The remaining improvements are now implementation-depth refinements rather than missing local captures:
- Extend official Search API `next`/`prev`, `startIndex`, and `partOf.first`/`partOf.last` coverage from the canonical `/api/search` and `/api/relations/{relation}` routes to provider-specific search routes.
- Add HTTP `Link: rel="describedby"` route-level smoke coverage for public HTML pages, complementing the existing exactly-one HTML `<link rel="describedby">` guard.
- Keep expanding the 95-name HAL relation inventory from documented checklist to executable relation-search fixtures as real modeled data supports each family.