{
"id": "space.highport.manage.validate",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"record"
],
"properties": {
"rkey": {
"type": "string",
"description": "Required for a site (the hostname). For a tile: an existing rkey for a new version, a TID the client chose, or absent to let bard mint one."
},
"space": {
"type": "string",
"format": "at-uri",
"description": "Validate as a record in this space. The caller must be its authority."
},
"dryRun": {
"type": "boolean",
"description": "Validate only, without preparing."
},
"record": {
"type": "unknown",
"description": "A space.highport.sites.site or space.highport.sites.tile record, including $type."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "InvalidRecordKey",
"description": "A site without an rkey, or an rkey that is not a canonical hostname or valid TID."
},
{
"name": "TileNotReady",
"description": "The bound tile is still pending publication and cannot be bound yet."
},
{
"name": "SpaceNotFound",
"description": "Bard is not connected to that space."
},
{
"name": "NotSpaceAuthority",
"description": "Only the space's authority may publish in it."
},
{
"name": "RateLimitExceeded",
"description": "Too many preparations this hour."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"valid",
"errors",
"parameterErrors",
"prepared",
"missingBlobs"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"state": {
"ref": "space.highport.defs#indexState",
"type": "ref"
},
"valid": {
"type": "boolean"
},
"errors": {
"type": "array",
"items": {
"ref": "space.highport.defs#validationError",
"type": "ref"
}
},
"reason": {
"type": "string",
"knownValues": [
"DomainNotVerified",
"TileAuthorNotPermitted",
"PreparedQuotaExceeded",
"SpacePreparationUnsupported",
"DryRun"
]
},
"record": {
"type": "unknown",
"description": "The record as bard will serialize it. Write it exactly as returned."
},
"prepared": {
"type": "boolean"
},
"expiresAt": {
"type": "string",
"format": "datetime"
},
"entryCount": {
"type": "integer"
},
"totalBytes": {
"type": "integer"
},
"missingBlobs": {
"type": "array",
"items": {
"ref": "space.highport.defs#missingBlob",
"type": "ref"
}
},
"parameterErrors": {
"type": "array",
"items": {
"ref": "space.highport.defs#validationError",
"type": "ref"
}
}
}
},
"encoding": "application/json"
},
"description": "Validate a site or tile record before writing it and, for an authorized caller, prepare bard to serve it. Returns the AT-URI and CID the record will have, and the canonical record to write with putRecord at that key."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}