Skip to content

com.atproto.repo.createRecord

Lexicon Version: 1

Type: procedure

Create a single new repository record. Requires auth, implemented by PDS.

Parameters: (None defined)

Input:

  • Encoding: application/json
  • Schema:

Schema Type: object

NameTypeReq’dDescriptionConstraints
repostringThe handle or DID of the repo (aka, current account).Format: at-identifier
collectionstringThe NSID of the record collection.Format: nsid
rkeystringThe Record Key.Format: record-key
Max Length: 512
validatebooleanCan 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.
recordunknownThe record itself. Must contain a $type field.
swapCommitstringCompare and swap with the previous commit by CID.Format: cid
Output:
  • Encoding: application/json
  • Schema:

Schema Type: object

NameTypeReq’dDescriptionConstraints
uristringFormat: at-uri
cidstringFormat: cid
commitcom.atproto.repo.defs#commitMeta
validationStatusstringKnown Values: valid, unknown
Possible Errors:
  • InvalidSwap: Indicates that ‘swapCommit’ didn’t match current repo commit.

{
"lexicon": 1,
"id": "com.atproto.repo.createRecord",
"defs": {
"main": {
"type": "procedure",
"description": "Create a single new repository record. Requires auth, implemented by PDS.",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"repo",
"collection",
"record"
],
"properties": {
"repo": {
"type": "string",
"format": "at-identifier",
"description": "The handle or DID of the repo (aka, current account)."
},
"collection": {
"type": "string",
"format": "nsid",
"description": "The NSID of the record collection."
},
"rkey": {
"type": "string",
"format": "record-key",
"description": "The Record Key.",
"maxLength": 512
},
"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."
},
"record": {
"type": "unknown",
"description": "The record itself. Must contain a $type field."
},
"swapCommit": {
"type": "string",
"format": "cid",
"description": "Compare and swap with the previous commit by CID."
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"uri",
"cid"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"cid": {
"type": "string",
"format": "cid"
},
"commit": {
"type": "ref",
"ref": "com.atproto.repo.defs#commitMeta"
},
"validationStatus": {
"type": "string",
"knownValues": [
"valid",
"unknown"
]
}
}
}
},
"errors": [
{
"name": "InvalidSwap",
"description": "Indicates that 'swapCommit' didn't match current repo commit."
}
]
}
}
}