Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.
Input
application/jsoncollection
stringnsid
Required
The NSID of the record collection.
record
unknown
Required
The record to write.
repo
stringat-identifier
Required
The handle or DID of the repo (aka, current account).
rkey
stringrecord-key
Required
The Record Key.
maxLength: 512 bytesswapCommit
stringcid
Optional
Compare and swap with the previous commit by CID.
swapRecord
stringcid
OptionalNullable
Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation
validate
boolean
Optional
Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.
Output
application/jsoncid
stringcid
Required
A content identifier (CID) referencing immutable data.
commit
refcom.atproto.repo.defs#commitMeta
Optional
No description provided.
uri
stringat-uri
Required
An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).
validationStatus
string
Optional
No description provided.
valid, unknownErrors
InvalidSwap
Try It
Direct PDS XRPC methods (com.atproto.*) are disabled in Try It for security reasons.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"nullable": [
"swapRecord"
],
"required": [
"repo",
"collection",
"rkey",
"record"
],
"properties": {
"repo": {
"type": "string",
"format": "at-identifier",
"description": "The handle or DID of the repo (aka, current account)."
},
"rkey": {
"type": "string",
"format": "record-key",
"maxLength": 512,
"description": "The Record Key."
},
"record": {
"type": "unknown",
"description": "The record to write."
},
"validate": {
"type": "boolean",
"description": "Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons."
},
"collection": {
"type": "string",
"format": "nsid",
"description": "The NSID of the record collection."
},
"swapCommit": {
"type": "string",
"format": "cid",
"description": "Compare and swap with the previous commit by CID."
},
"swapRecord": {
"type": "string",
"format": "cid",
"description": "Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation"
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidSwap"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"uri",
"cid"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"commit": {
"ref": "com.atproto.repo.defs#commitMeta",
"type": "ref"
},
"validationStatus": {
"type": "string",
"knownValues": [
"valid",
"unknown"
]
}
}
},
"encoding": "application/json"
},
"description": "Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS."
}