{"id":"linked-art/api/schema-person","relativePath":"linked-art/api/schema-person.md","title":"Linked Art API Schema: Person","markdown":"# Linked Art API Schema: Person\n\n**Last refreshed:** 2026-07-06\n\nSource: [Person schema docs](https://linked.art/api/1.0/schema_docs/person/) and [person.json](https://linked.art/api/1.0/schema/person.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 Person schema describes `crm:E21_Person`: a human. In Linked Art API terms this covers artists, makers, collectors, curators, conservators, donors, staff members, and other individual actors.\n\nRelated upstream references:\n\n- [Person API endpoint](https://linked.art/api/1.0/endpoint/person/)\n- [People and organizations model documentation](https://linked.art/model/actor/)\n\n## Top-Level Constraints\n\n- Schema type: object.\n- CRM class: `crm:E21_Person`.\n- Additional top-level properties are not allowed.\n- `@context`: required.\n- `id`: required URI string for the entity.\n- `type`: required class string. The practical Linked Art class is `Person`.\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 person.\n- `referred_to_by`: array of embedded statements or textual references about the person.\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 `Group` references of which this person is a current or former member.\n- `subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this person.\n- `attributed_by`: array of `AttributeAssignment` structures relating another entity to this person.\n- `carried_out`: array of activities this person carried out or performed.\n- `participated_in`: array of activities this person participated in without necessarily carrying them out directly.\n- `contact_point`: array of `Identifier` structures for contact points or addresses.\n- `residence`: array of `Place` references where the person has resided.\n- `born`: birth event for the person.\n- `died`: death event for the person.\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`member_of` references groups:\n\n- References point to `crm:E74_Group`.\n- This is current-or-former group membership and should remain structured.\n\n## Activity And Life Event Shapes\n\nThe schema uses activity shapes for actor participation:\n\n- `carried_out`: activities performed by the person.\n- `participated_in`: activities the person joined or participated in without direct responsibility.\n\nThe schema also uses event shapes for person lifecycle evidence:\n\n- `born`: the event in which this person was born.\n- `died`: the event in which this person died.\n\nThe activity/event structures support:\n\n- `type`\n- `_label`\n- `identified_by`\n- `classified_as`\n- `referred_to_by`\n- `took_place_at`\n- `timespan`\n- `caused_by`\n- `carried_out_by`\n- `used_specific_object`\n- `influenced_by`\n- `technique`\n- `during`\n- `after`\n- `before`\n- `part_of`\n\nBirth and death events particularly rely on `took_place_at`, `timespan`, `during`, `after`, `before`, and `caused_by`.\n\n## Contact And Residence\n\n`contact_point` is modeled as an `Identifier`, not a loose string. This lets email addresses, web handles, phone numbers, and similar values carry structured identifier evidence.\n\n`residence` references `Place` records and is appropriate for current or former residences.\n\n## Meta Museum Notes\n\nMeta Museum already preserves person actor semantics in endpoint notes and fixtures: people stay `Person`, names and identifiers remain structured, external identities stay in `equivalent`, group membership stays in `member_of`, and activity participation is kept separate from object/person display text.\n\nThis expanded schema adds the endpoint-level validation target for individual actors: required identity fields, no unexpected top-level properties, structured membership/contact/residence evidence, performed-vs-participated activity evidence, and explicit birth/death event structures.\n\n## Test Ideas\n\n- Validate representative `Person` records against `person.json`.\n- Assert `@context`, `id`, `type`, and `_label` are present.\n- Assert unknown top-level properties fail schema validation.\n- Preserve `member_of` as `Group` references.\n- Preserve `carried_out` separately from `participated_in`.\n- Preserve `contact_point` as `Identifier` structures.\n- Preserve `residence` as `Place` references.\n- Preserve `born` and `died` event evidence including `timespan`, `took_place_at`, `during`, `after`, `before`, and `caused_by`.\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":"Activity And Life Event Shapes","anchor":"activity-and-life-event-shapes"},{"level":2,"heading":"Contact And Residence","anchor":"contact-and-residence"},{"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-person\">Linked Art API Schema: Person</h1>\n<p><strong>Last refreshed:</strong> 2026-07-06</p>\n<p>Source: <a href=\"https://linked.art/api/1.0/schema_docs/person/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Person schema docs</a> and <a href=\"https://linked.art/api/1.0/schema/person.json\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">person.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 Person schema describes `crm:E21_Person`: a human. In Linked Art API terms this covers artists, makers, collectors, curators, conservators, donors, staff members, and other individual actors.</p>\n<p>Related upstream references:</p>\n<ul><li><a href=\"https://linked.art/api/1.0/endpoint/person/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">Person API endpoint</a></li><li><a href=\"https://linked.art/model/actor/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"doc-link\">People and organizations model documentation</a></li></ul>\n<h2 id=\"top-level-constraints\">Top-Level Constraints</h2>\n<ul><li>Schema type: object.</li><li>CRM class: `crm:E21_Person`.</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. The practical Linked Art class is `Person`.</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 person.</li><li>`referred_to_by`: array of embedded statements or textual references about the person.</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 `Group` references of which this person is a current or former member.</li><li>`subject_of`: array of embedded `LinguisticObject` web pages or digital objects focused on this person.</li><li>`attributed_by`: array of `AttributeAssignment` structures relating another entity to this person.</li><li>`carried_out`: array of activities this person carried out or performed.</li><li>`participated_in`: array of activities this person participated in without necessarily carrying them out directly.</li><li>`contact_point`: array of `Identifier` structures for contact points or addresses.</li><li>`residence`: array of `Place` references where the person has resided.</li><li>`born`: birth event for the person.</li><li>`died`: death event for the person.</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>`member_of` references groups:</p>\n<ul><li>References point to `crm:E74_Group`.</li><li>This is current-or-former group membership and should remain structured.</li></ul>\n<h2 id=\"activity-and-life-event-shapes\">Activity And Life Event Shapes</h2>\n<p>The schema uses activity shapes for actor participation:</p>\n<ul><li>`carried_out`: activities performed by the person.</li><li>`participated_in`: activities the person joined or participated in without direct responsibility.</li></ul>\n<p>The schema also uses event shapes for person lifecycle evidence:</p>\n<ul><li>`born`: the event in which this person was born.</li><li>`died`: the event in which this person died.</li></ul>\n<p>The activity/event structures support:</p>\n<ul><li>`type`</li><li>`_label`</li><li>`identified_by`</li><li>`classified_as`</li><li>`referred_to_by`</li><li>`took_place_at`</li><li>`timespan`</li><li>`caused_by`</li><li>`carried_out_by`</li><li>`used_specific_object`</li><li>`influenced_by`</li><li>`technique`</li><li>`during`</li><li>`after`</li><li>`before`</li><li>`part_of`</li></ul>\n<p>Birth and death events particularly rely on `took_place_at`, `timespan`, `during`, `after`, `before`, and `caused_by`.</p>\n<h2 id=\"contact-and-residence\">Contact And Residence</h2>\n<p>`contact_point` is modeled as an `Identifier`, not a loose string. This lets email addresses, web handles, phone numbers, and similar values carry structured identifier evidence.</p>\n<p>`residence` references `Place` records and is appropriate for current or former residences.</p>\n<h2 id=\"meta-museum-notes\">Meta Museum Notes</h2>\n<p>Meta Museum already preserves person actor semantics in endpoint notes and fixtures: people stay `Person`, names and identifiers remain structured, external identities stay in `equivalent`, group membership stays in `member_of`, and activity participation is kept separate from object/person display text.</p>\n<p>This expanded schema adds the endpoint-level validation target for individual actors: required identity fields, no unexpected top-level properties, structured membership/contact/residence evidence, performed-vs-participated activity evidence, and explicit birth/death event structures.</p>\n<h2 id=\"test-ideas\">Test Ideas</h2>\n<ul><li>Validate representative `Person` records against `person.json`.</li><li>Assert `@context`, `id`, `type`, and `_label` are present.</li><li>Assert unknown top-level properties fail schema validation.</li><li>Preserve `member_of` as `Group` references.</li><li>Preserve `carried_out` separately from `participated_in`.</li><li>Preserve `contact_point` as `Identifier` structures.</li><li>Preserve `residence` as `Place` references.</li><li>Preserve `born` and `died` event evidence including `timespan`, `took_place_at`, `during`, `after`, `before`, and `caused_by`.</li></ul>","updatedAt":"2026-07-06T00:00:00.000Z","checksum":"7c1f640435170ff6693e863a1b5f4453f9b0e2d2cc043caa41236884a46fff2e","checksumPrefix":"7c1f64043517","anchorCount":8,"lineCount":127,"rawUrl":"/api/docs/content?path=linked-art%2Fapi%2Fschema-person.md","htmlUrl":"/docs?doc=linked-art%2Fapi%2Fschema-person.md","apiUrl":"/api/docs/content?path=linked-art%2Fapi%2Fschema-person.md"}