{
"id": "pub.chive.eprint.updateSubmission",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"uri",
"versionBump"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the eprint to update"
},
"title": {
"type": "string",
"maxLength": 500,
"description": "Updated title"
},
"authors": {
"type": "array",
"items": {
"ref": "pub.chive.eprint.authorContribution",
"type": "ref"
},
"maxLength": 100,
"minLength": 1,
"description": "Updated authors with contributions, affiliations, and metadata"
},
"funding": {
"type": "array",
"items": {
"ref": "pub.chive.eprint.submission#fundingSource",
"type": "ref"
},
"maxLength": 20,
"description": "Funding sources"
},
"abstract": {
"type": "array",
"items": {
"refs": [
"pub.chive.richtext.defs#textItem",
"pub.chive.richtext.defs#nodeRefItem"
],
"type": "union"
},
"maxLength": 100,
"description": "Updated rich abstract"
},
"document": {
"type": "blob",
"accept": [
"application/pdf",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"text/html",
"text/markdown",
"text/x-markdown",
"text/x-tex",
"application/x-tex",
"application/x-ipynb+json",
"application/vnd.oasis.opendocument.text",
"application/rtf",
"application/epub+zip",
"text/plain"
],
"maxSize": 52428800,
"description": "Updated document (if replacing)"
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxLength": 20,
"description": "Updated keywords"
},
"changelog": {
"ref": "#changelogInput",
"type": "ref",
"description": "Structured changelog for this update"
},
"fieldUris": {
"type": "array",
"items": {
"type": "string",
"format": "at-uri"
},
"maxLength": 10,
"description": "Updated field node references"
},
"externalIds": {
"ref": "pub.chive.eprint.submission#externalIds",
"type": "ref",
"description": "External identifiers (arXiv, PubMed, SSRN, etc.)"
},
"versionBump": {
"type": "string",
"description": "Type of version increment",
"knownValues": [
"major",
"minor",
"patch"
]
},
"repositories": {
"ref": "pub.chive.eprint.submission#repositories",
"type": "ref",
"description": "Code, data, and other repositories"
},
"publishedVersion": {
"ref": "pub.chive.eprint.submission#publishedVersion",
"type": "ref",
"description": "Published version metadata (journal, DOI, etc.)"
},
"conferencePresentation": {
"ref": "pub.chive.eprint.submission#conferencePresentation",
"type": "ref",
"description": "Conference presentation metadata"
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "NotFound",
"description": "Eprint not found"
},
{
"name": "Unauthorized",
"description": "User is not authorized to update this eprint"
},
{
"name": "ValidationError",
"description": "Invalid update data"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"uri",
"version",
"expectedCid"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri",
"description": "URI of the updated eprint"
},
"version": {
"ref": "pub.chive.eprint.submission#semanticVersion",
"type": "ref",
"description": "New semantic version"
},
"expectedCid": {
"type": "string",
"format": "cid",
"description": "CID of the current indexed version for optimistic concurrency control. The frontend should pass this to the PDS when updating; if the CID has changed, the PDS will reject the update to prevent race conditions."
},
"changelogUri": {
"type": "string",
"format": "at-uri",
"description": "URI of the created changelog record"
}
}
},
"encoding": "application/json"
},
"description": "Update an eprint submission with a new version"
},
"changelogInput": {
"type": "object",
"properties": {
"summary": {
"type": "string",
"maxLength": 500,
"description": "One-line summary of changes"
},
"sections": {
"type": "array",
"items": {
"ref": "pub.chive.eprint.changelog#changelogSection",
"type": "ref"
},
"maxLength": 20,
"description": "Structured changelog sections"
},
"reviewerResponse": {
"type": "string",
"maxLength": 10000,
"description": "Response to peer review feedback"
}
},
"description": "Changelog input for update operation"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"revision": 1
}