space.highport.manage.validate

lexicons.highport.space

Documentation

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.

main procedure

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.

Input

Encodingapplication/json
dryRun boolean Optional

Validate only, without preparing.

record unknown Required

A space.highport.sites.site or space.highport.sites.tile record, including $type.

rkey string Optional

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 stringat-uri Optional

Validate as a record in this space. The caller must be its authority.

Output

Encodingapplication/json
cid stringcid Optional

A content identifier (CID) referencing immutable data.

entryCount integer Optional

No description available.

errors array Required

No description available.

expiresAt stringdatetime Optional

An RFC 3339 formatted timestamp.

missingBlobs array Required

No description available.

parameterErrors array Required

No description available.

prepared boolean Required

No description available.

reason string Optional

No description available.

Known values: DomainNotVerified, TileAuthorNotPermitted, PreparedQuotaExceeded, SpacePreparationUnsupported, DryRun
record unknown Optional

The record as bard will serialize it. Write it exactly as returned.

totalBytes integer Optional

No description available.

uri stringat-uri Optional

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

valid boolean Required

No description available.

Errors

InvalidRecordKey A site without an rkey, or an rkey that is not a canonical hostname or valid TID.
TileNotReady The bound tile is still pending publication and cannot be bound yet.
SpaceNotFound Bard is not connected to that space.
NotSpaceAuthority Only the space's authority may publish in it.
RateLimitExceeded Too many preparations this hour.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "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."
}

Lexicon Garden

@