{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://orcid.org/schemas/person/3.0",
"title": "ORCID 3.0 Person",
"description": "JSON Schema for the ORCID 3.0 /person API endpoint response, derived from the ORCID 3.0 XSD types (person-3.0.xsd, personal-details-3.0.xsd, common-3.0.xsd, etc.)",
"type": "object",
"required": ["path"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"name": { "$ref": "#/definitions/NullableName" },
"other-names": { "$ref": "#/definitions/OtherNames" },
"biography": { "$ref": "#/definitions/NullableBiography" },
"researcher-urls": { "$ref": "#/definitions/ResearcherUrls" },
"emails": { "$ref": "#/definitions/Emails" },
"addresses": { "$ref": "#/definitions/Addresses" },
"keywords": { "$ref": "#/definitions/Keywords" },
"external-identifiers": { "$ref": "#/definitions/PersonExternalIdentifiers" },
"path": { "type": "string" }
},
"definitions": {
"DateValue": {
"description": "Epoch-millisecond timestamp (xs:dateTime encoded as integer).",
"type": "object",
"required": ["value"],
"properties": {
"value": { "type": "integer" }
}
},
"NullableDateValue": {
"oneOf": [
{ "$ref": "#/definitions/DateValue" },
{ "type": "null" }
]
},
"StringValue": {
"description": "Single-value wrapper used for given-names, family-name, credit-name, country, etc.",
"type": "object",
"required": ["value"],
"properties": {
"value": { "type": "string" }
}
},
"NullableStringValue": {
"oneOf": [
{ "$ref": "#/definitions/StringValue" },
{ "type": "null" }
]
},
"Visibility": {
"description": "ORCID visibility scope (common:VisibilityType in the XSD).",
"type": ["string", "null"],
"enum": ["public", "limited", "registered-only", "private", null]
},
"OrcidId": {
"description": "ORCID identifier triple (common:OrcidIdBase).",
"type": ["object", "null"],
"properties": {
"uri": { "type": "string", "format": "uri" },
"path": { "type": "string" },
"host": { "type": "string" }
}
},
"Source": {
"description": "Provenance block attached to put-items (common:Source).",
"type": ["object", "null"],
"properties": {
"source-orcid": { "$ref": "#/definitions/OrcidId" },
"source-client-id": { "$ref": "#/definitions/OrcidId" },
"source-name": { "$ref": "#/definitions/NullableStringValue" },
"assertion-origin-orcid": { "$ref": "#/definitions/OrcidId" },
"assertion-origin-client-id": { "$ref": "#/definitions/OrcidId" },
"assertion-origin-name": { "$ref": "#/definitions/NullableStringValue" }
}
},
"PutItemFields": {
"description": "Fields present on every put-item (put-code, display-index, visibility, path, source, created-date, last-modified-date).",
"properties": {
"put-code": { "type": "integer" },
"display-index": { "type": "integer" },
"visibility": { "$ref": "#/definitions/Visibility" },
"path": { "type": "string" },
"source": { "$ref": "#/definitions/Source" },
"created-date": { "$ref": "#/definitions/NullableDateValue" },
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" }
}
},
"Name": {
"description": "Personal name record (personal-details:NameType).",
"type": "object",
"properties": {
"created-date": { "$ref": "#/definitions/NullableDateValue" },
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"given-names": { "$ref": "#/definitions/NullableStringValue" },
"family-name": { "$ref": "#/definitions/NullableStringValue" },
"credit-name": { "$ref": "#/definitions/NullableStringValue" },
"other-names": { "$ref": "#/definitions/NullableOtherNames" },
"source": { "$ref": "#/definitions/Source" },
"visibility": { "$ref": "#/definitions/Visibility" },
"path": { "type": "string" }
}
},
"NullableName": {
"oneOf": [
{ "$ref": "#/definitions/Name" },
{ "type": "null" }
]
},
"OtherName": {
"description": "Alternate name for the researcher (other-name:OtherName).",
"type": "object",
"required": ["content"],
"allOf": [{ "$ref": "#/definitions/PutItemFields" }],
"properties": {
"content": { "type": "string" }
}
},
"OtherNames": {
"description": "Container for other-name elements (other-name:OtherNamesType).",
"type": "object",
"required": ["other-name"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"other-name": {
"type": "array",
"items": { "$ref": "#/definitions/OtherName" }
},
"path": { "type": "string" }
}
},
"NullableOtherNames": {
"oneOf": [
{ "$ref": "#/definitions/OtherNames" },
{ "type": "null" }
]
},
"Biography": {
"description": "Free-text biography block (biography:BiographyType).",
"type": "object",
"properties": {
"created-date": { "$ref": "#/definitions/NullableDateValue" },
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"content": { "type": ["string", "null"] },
"visibility": { "$ref": "#/definitions/Visibility" },
"path": { "type": "string" }
}
},
"NullableBiography": {
"oneOf": [
{ "$ref": "#/definitions/Biography" },
{ "type": "null" }
]
},
"ResearcherUrl": {
"description": "A single researcher URL (researcher-url:ResearcherUrl).",
"type": "object",
"required": ["url-name", "url"],
"allOf": [{ "$ref": "#/definitions/PutItemFields" }],
"properties": {
"url-name": { "type": "string" },
"url": { "$ref": "#/definitions/StringValue" }
}
},
"ResearcherUrls": {
"description": "Container for researcher URLs (researcher-url:ResearcherUrlsType).",
"type": "object",
"required": ["researcher-url"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"researcher-url": {
"type": "array",
"items": { "$ref": "#/definitions/ResearcherUrl" }
},
"path": { "type": "string" },
"visibility": { "$ref": "#/definitions/Visibility" }
}
},
"Email": {
"description": "A verified email address (email:Email).",
"type": "object",
"required": ["email"],
"allOf": [{ "$ref": "#/definitions/PutItemFields" }],
"properties": {
"email": { "type": "string", "format": "email" },
"primary": { "type": "boolean" },
"verified": { "type": "boolean" }
}
},
"Emails": {
"description": "Container for email elements (email:EmailsType).",
"type": "object",
"required": ["email"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"email": {
"type": "array",
"items": { "$ref": "#/definitions/Email" }
},
"path": { "type": "string" },
"visibility": { "$ref": "#/definitions/Visibility" }
}
},
"Address": {
"description": "A registered country/address (address:Address).",
"type": "object",
"required": ["country"],
"allOf": [{ "$ref": "#/definitions/PutItemFields" }],
"properties": {
"country": { "$ref": "#/definitions/StringValue" }
}
},
"Addresses": {
"description": "Container for address elements (address:AddressesType).",
"type": "object",
"required": ["address"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"address": {
"type": "array",
"items": { "$ref": "#/definitions/Address" }
},
"path": { "type": "string" },
"visibility": { "$ref": "#/definitions/Visibility" }
}
},
"Keyword": {
"description": "A self-reported keyword (keyword:Keyword).",
"type": "object",
"required": ["content"],
"allOf": [{ "$ref": "#/definitions/PutItemFields" }],
"properties": {
"content": { "type": "string" }
}
},
"Keywords": {
"description": "Container for keyword elements (keyword:KeywordsType).",
"type": "object",
"required": ["keyword"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"keyword": {
"type": "array",
"items": { "$ref": "#/definitions/Keyword" }
},
"path": { "type": "string" },
"visibility": { "$ref": "#/definitions/Visibility" }
}
},
"ExternalIdRelationship": {
"description": "external-identifier:ExternalIdRelationship",
"type": "string",
"enum": ["self", "part-of", "funded-by", "version-of"]
},
"ExternalIdNormalized": {
"type": ["object", "null"],
"properties": {
"value": { "type": "string" },
"transient": { "type": "boolean" }
}
},
"PersonExternalIdentifier": {
"description": "A single external identifier (external-identifier:PersonExternalIdentifier).",
"type": "object",
"required": ["external-id-type", "external-id-value"],
"allOf": [{ "$ref": "#/definitions/PutItemFields" }],
"properties": {
"external-id-type": { "type": "string" },
"external-id-value": { "type": "string" },
"external-id-normalized": { "$ref": "#/definitions/ExternalIdNormalized" },
"external-id-normalized-error": { "type": ["object", "null"] },
"external-id-url": { "$ref": "#/definitions/NullableStringValue" },
"external-id-relationship": { "$ref": "#/definitions/ExternalIdRelationship" }
}
},
"PersonExternalIdentifiers": {
"description": "Container for person external identifiers (external-identifier:PersonExternalIdentifiersType).",
"type": "object",
"required": ["external-identifier"],
"properties": {
"last-modified-date": { "$ref": "#/definitions/NullableDateValue" },
"external-identifier": {
"type": "array",
"items": { "$ref": "#/definitions/PersonExternalIdentifier" }
},
"path": { "type": "string" },
"visibility": { "$ref": "#/definitions/Visibility" }
}
}
}
}