{"id":"linked-art/api/schema-event","relativePath":"linked-art/api/schema-event.md","title":"Linked Art API Schema: Event","markdown":"# Linked Art API Schema: Event\n\n**Last refreshed:** 2026-07-06\n\nSource: [Event/Activity schema docs](https://linked.art/api/1.0/schema_docs/event/) and [event.json](https://linked.art/api/1.0/schema/event.json), part of Linked Art API 1.0, published under [CC BY 4.0](http://creativecommons.org/licenses/by/4.0/). This is a project summary; the upstream schema is authoritative.\n\n## Purpose\n\nThe Event schema describes temporal entities: `crm:E4_Period`, `crm:E6_Event`, and `crm:E7_Activity`. Linked Art uses this endpoint for periods, events where a change occurred without a responsible actor, and activities where a human or group was responsible.\n\nRelated upstream references:\n\n- [Event API endpoint](https://linked.art/api/1.0/endpoint/event/)\n- [Events model documentation](https://linked.art/model/event/)\n\n## Top-Level Constraints\n\n- Schema type: object.\n- CRM classes: `crm:E4_Period`, `crm:E6_Event`, or `crm:E7_Activity`.\n- Additional top-level properties are not allowed.\n- `@context`: required.\n- `id`: required URI string for the entity.\n- `type`: required class string. Practical Linked Art classes include `Period`, `Event`, and `Activity`.\n- `_label`: required developer-facing human-readable label.\n\n## Permitted Top-Level Fields\n\n- `identified_by`: array of `Name` or `Identifier` structures.\n- `classified_as`: array of `Type` structures that classify this temporal entity.\n- `referred_to_by`: array of embedded statements or textual references about the entity.\n- `equivalent`: array of compact references to equivalent identities.\n- `representation`: array of embedded `VisualItem` structures linked through digital objects.\n- `member_of`: array of `Set` references.\n- `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this entity.\n- `attributed_by`: array of `AttributeAssignment` structures relating another entity to this one.\n- `took_place_at`: array of `Place` references where the event or activity occurred.\n- `timespan`: `TimeSpan` structure describing when the event or activity occurred.\n- `during`: array of `Period` references that contain the temporal entity.\n- `after`: array of `Period`, `Event`, or `Activity` references that ended before this temporal entity began.\n- `before`: array of `Period`, `Event`, or `Activity` references that start after this temporal entity ends.\n- `caused_by`: array of `Event` references that caused this temporal entity.\n- `carried_out_by`: array of `Person` or `Group` references responsible for an activity.\n- `participant`: array of `Person` or `Group` references that participated in the activity.\n- `used_specific_object`: array of objects, sets, or other things used by the activity.\n- `influenced_by`: array of entities that influenced the activity.\n- `technique`: array of `Type` references for techniques used in the activity.\n- `part_of`: compact reference to an identified `Event` or `Activity` of which this one is part.\n\n## Embedded Structures Highlighted By The Schema\n\n`identified_by` items can be:\n\n- `Name` structures, with required `type` and `content`, plus optional `_label`, nested `identified_by`, `referred_to_by`, `classified_as`, `language`, and `part`.\n- `Identifier` structures, following the shared identifier pattern.\n\n`referred_to_by` items are embedded `LinguisticObject` statements:\n\n- `type`: required.\n- `content`: required.\n- `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `format` are allowed.\n\n`representation` items are embedded `VisualItem` structures:\n\n- `type`: required.\n- `_label`, `identified_by`, `classified_as`, `referred_to_by`, and `digitally_shown_by` are allowed.\n- Nested digital objects can carry `access_point`, `format`, and `conforms_to`.\n\n`subject_of` items are embedded `LinguisticObject` structures:\n\n- `type`: required.\n- `_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `digitally_carried_by` are allowed.\n\n`part_of` references an enclosing event or activity:\n\n- `id`: required.\n- `type`: required.\n- `_label`: optional.\n- `equivalent`: optional.\n\n## Temporal And Activity Semantics\n\nThe schema keeps temporal structure explicit:\n\n- `took_place_at` records place evidence.\n- `timespan` records fuzzy or exact date/time boundaries.\n- `during` records containment within a period.\n- `after` and `before` record relative temporal ordering without forcing exact dates.\n- `caused_by` records causal context.\n\nFor activities, the schema also distinguishes:\n\n- `carried_out_by`: responsible actors.\n- `participant`: actors involved but not necessarily responsible.\n- `used_specific_object`: concrete things used in the activity.\n- `technique`: general technique used.\n- `influenced_by`: motivating or influencing entities.\n\n## Meta Museum Notes\n\nMeta Museum already has regression coverage for event identity and activity preservation through `/api/records/{id}` and `/api/events/{id}`: `Period`, `Event`, and `Activity` records preserve names, timespans, places, actor responsibility, causation, `part_of`, `during`, `before`, and `after`.\n\nThis expanded schema adds the endpoint-level validation target: standalone temporal records must keep required identity fields, reject unexpected top-level properties, preserve temporal ordering fields, and keep `carried_out_by` distinct from broader `participant` evidence.\n\n## Test Ideas\n\n- Validate representative `Period`, `Event`, and `Activity` records against `event.json`.\n- Assert `@context`, `id`, `type`, and `_label` are present.\n- Assert unknown top-level properties fail schema validation.\n- Preserve `took_place_at`, `timespan`, `during`, `after`, `before`, and `caused_by`.\n- Preserve `carried_out_by` separately from `participant`.\n- Preserve `used_specific_object`, `influenced_by`, `technique`, and `part_of` on activity records.\n","sections":[{"level":2,"heading":"Purpose","anchor":"purpose"},{"level":2,"heading":"Top-Level Constraints","anchor":"top-level-constraints"},{"level":2,"heading":"Permitted Top-Level Fields","anchor":"permitted-top-level-fields"},{"level":2,"heading":"Embedded Structures Highlighted By The Schema","anchor":"embedded-structures-highlighted-by-the-schema"},{"level":2,"heading":"Temporal And Activity Semantics","anchor":"temporal-and-activity-semantics"},{"level":2,"heading":"Meta Museum Notes","anchor":"meta-museum-notes"},{"level":2,"heading":"Test Ideas","anchor":"test-ideas"}],"html":"<h1 id=\"linked-art-api-schema-event\">Linked Art API Schema: Event</h1>\n<p><strong>Last refreshed:</strong> 2026-07-06</p>\n<p>Source: <a href=\"https://linked.art/api/1.0/schema_docs/event/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Event/Activity schema docs</a> and <a href=\"https://linked.art/api/1.0/schema/event.json\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">event.json</a>, part of Linked Art API 1.0, published under <a href=\"http://creativecommons.org/licenses/by/4.0/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">CC BY 4.0</a>. This is a project summary; the upstream schema is authoritative.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>The Event schema describes temporal entities: `crm:E4_Period`, `crm:E6_Event`, and `crm:E7_Activity`. Linked Art uses this endpoint for periods, events where a change occurred without a responsible actor, and activities where a human or group was responsible.</p>\n<p>Related upstream references:</p>\n<ul><li><a href=\"https://linked.art/api/1.0/endpoint/event/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Event API endpoint</a></li><li><a href=\"https://linked.art/model/event/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Events model documentation</a></li></ul>\n<h2 id=\"top-level-constraints\">Top-Level Constraints</h2>\n<ul><li>Schema type: object.</li><li>CRM classes: `crm:E4_Period`, `crm:E6_Event`, or `crm:E7_Activity`.</li><li>Additional top-level properties are not allowed.</li><li>`@context`: required.</li><li>`id`: required URI string for the entity.</li><li>`type`: required class string. Practical Linked Art classes include `Period`, `Event`, and `Activity`.</li><li>`_label`: required developer-facing human-readable label.</li></ul>\n<h2 id=\"permitted-top-level-fields\">Permitted Top-Level Fields</h2>\n<ul><li>`identified_by`: array of `Name` or `Identifier` structures.</li><li>`classified_as`: array of `Type` structures that classify this temporal entity.</li><li>`referred_to_by`: array of embedded statements or textual references about the entity.</li><li>`equivalent`: array of compact references to equivalent identities.</li><li>`representation`: array of embedded `VisualItem` structures linked through digital objects.</li><li>`member_of`: array of `Set` references.</li><li>`subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this entity.</li><li>`attributed_by`: array of `AttributeAssignment` structures relating another entity to this one.</li><li>`took_place_at`: array of `Place` references where the event or activity occurred.</li><li>`timespan`: `TimeSpan` structure describing when the event or activity occurred.</li><li>`during`: array of `Period` references that contain the temporal entity.</li><li>`after`: array of `Period`, `Event`, or `Activity` references that ended before this temporal entity began.</li><li>`before`: array of `Period`, `Event`, or `Activity` references that start after this temporal entity ends.</li><li>`caused_by`: array of `Event` references that caused this temporal entity.</li><li>`carried_out_by`: array of `Person` or `Group` references responsible for an activity.</li><li>`participant`: array of `Person` or `Group` references that participated in the activity.</li><li>`used_specific_object`: array of objects, sets, or other things used by the activity.</li><li>`influenced_by`: array of entities that influenced the activity.</li><li>`technique`: array of `Type` references for techniques used in the activity.</li><li>`part_of`: compact reference to an identified `Event` or `Activity` of which this one is part.</li></ul>\n<h2 id=\"embedded-structures-highlighted-by-the-schema\">Embedded Structures Highlighted By The Schema</h2>\n<p>`identified_by` items can be:</p>\n<ul><li>`Name` structures, with required `type` and `content`, plus optional `_label`, nested `identified_by`, `referred_to_by`, `classified_as`, `language`, and `part`.</li><li>`Identifier` structures, following the shared identifier pattern.</li></ul>\n<p>`referred_to_by` items are embedded `LinguisticObject` statements:</p>\n<ul><li>`type`: required.</li><li>`content`: required.</li><li>`_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `format` are allowed.</li></ul>\n<p>`representation` items are embedded `VisualItem` structures:</p>\n<ul><li>`type`: required.</li><li>`_label`, `identified_by`, `classified_as`, `referred_to_by`, and `digitally_shown_by` are allowed.</li><li>Nested digital objects can carry `access_point`, `format`, and `conforms_to`.</li></ul>\n<p>`subject_of` items are embedded `LinguisticObject` structures:</p>\n<ul><li>`type`: required.</li><li>`_label`, `identified_by`, `classified_as`, `referred_to_by`, `language`, and `digitally_carried_by` are allowed.</li></ul>\n<p>`part_of` references an enclosing event or activity:</p>\n<ul><li>`id`: required.</li><li>`type`: required.</li><li>`_label`: optional.</li><li>`equivalent`: optional.</li></ul>\n<h2 id=\"temporal-and-activity-semantics\">Temporal And Activity Semantics</h2>\n<p>The schema keeps temporal structure explicit:</p>\n<ul><li>`took_place_at` records place evidence.</li><li>`timespan` records fuzzy or exact date/time boundaries.</li><li>`during` records containment within a period.</li><li>`after` and `before` record relative temporal ordering without forcing exact dates.</li><li>`caused_by` records causal context.</li></ul>\n<p>For activities, the schema also distinguishes:</p>\n<ul><li>`carried_out_by`: responsible actors.</li><li>`participant`: actors involved but not necessarily responsible.</li><li>`used_specific_object`: concrete things used in the activity.</li><li>`technique`: general technique used.</li><li>`influenced_by`: motivating or influencing entities.</li></ul>\n<h2 id=\"meta-museum-notes\">Meta Museum Notes</h2>\n<p>Meta Museum already has regression coverage for event identity and activity preservation through `/api/records/{id}` and `/api/events/{id}`: `Period`, `Event`, and `Activity` records preserve names, timespans, places, actor responsibility, causation, `part_of`, `during`, `before`, and `after`.</p>\n<p>This expanded schema adds the endpoint-level validation target: standalone temporal records must keep required identity fields, reject unexpected top-level properties, preserve temporal ordering fields, and keep `carried_out_by` distinct from broader `participant` evidence.</p>\n<h2 id=\"test-ideas\">Test Ideas</h2>\n<ul><li>Validate representative `Period`, `Event`, and `Activity` records against `event.json`.</li><li>Assert `@context`, `id`, `type`, and `_label` are present.</li><li>Assert unknown top-level properties fail schema validation.</li><li>Preserve `took_place_at`, `timespan`, `during`, `after`, `before`, and `caused_by`.</li><li>Preserve `carried_out_by` separately from `participant`.</li><li>Preserve `used_specific_object`, `influenced_by`, `technique`, and `part_of` on activity records.</li></ul>","updatedAt":"2026-07-06T00:00:00.000Z","checksum":"ecc0b93c1ea64977af7fffcb9eac5bd712325c7d7a01d64a2e7f37a0786517fe","checksumPrefix":"ecc0b93c1ea6","anchorCount":7,"lineCount":112,"rawUrl":"/api/docs/content?path=linked-art%2Fapi%2Fschema-event.md","htmlUrl":"/docs?doc=linked-art%2Fapi%2Fschema-event.md","apiUrl":"/api/docs/content?path=linked-art%2Fapi%2Fschema-event.md"}