{
"id": "pub.chive.eprint.authorContribution",
"defs": {
"main": {
"type": "object",
"required": [
"name",
"order"
],
"properties": {
"did": {
"type": "string",
"format": "did",
"description": "Author DID if they have an ATProto account"
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Author display name (required even if DID present)"
},
"email": {
"type": "string",
"maxLength": 254,
"description": "Contact email (for external authors)"
},
"orcid": {
"type": "string",
"maxLength": 19,
"description": "ORCID identifier (format: 0000-0000-0000-000X)"
},
"order": {
"type": "integer",
"minimum": 1,
"description": "Position in author list (1-indexed)"
},
"handle": {
"type": "string",
"maxLength": 253,
"description": "ATProto handle resolved from DID (AppView-enriched)"
},
"avatarUrl": {
"type": "string",
"format": "uri",
"description": "Avatar URL resolved from author's PDS profile (AppView-enriched)"
},
"affiliations": {
"type": "array",
"items": {
"ref": "pub.chive.defs#affiliation",
"type": "ref"
},
"maxLength": 10,
"description": "Author affiliations"
},
"contributions": {
"type": "array",
"items": {
"ref": "#contribution",
"type": "ref"
},
"maxLength": 14,
"description": "CRediT-based contribution types"
},
"isHighlighted": {
"type": "boolean",
"default": false,
"description": "Whether this author is highlighted (co-first, co-last)"
},
"isCorrespondingAuthor": {
"type": "boolean",
"default": false,
"description": "Whether this is a corresponding author"
}
},
"description": "Author entry with full contribution metadata"
},
"contribution": {
"type": "object",
"required": [
"typeUri"
],
"properties": {
"typeUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI to contribution type node (subkind=contribution-type)"
},
"typeSlug": {
"type": "string",
"maxLength": 50,
"description": "Contribution type slug for display fallback (e.g., 'conceptualization')"
},
"degreeUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI to contribution degree node (subkind=contribution-degree)"
},
"degreeSlug": {
"type": "string",
"default": "equal",
"description": "Contribution degree slug for display fallback",
"knownValues": [
"lead",
"equal",
"supporting"
]
}
},
"description": "Author contribution with type and degree node references"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"revision": 2
}