place.wisp.v2.privateSite.createShare

wisp.place

Documentation

Create a share link for an owned private site. The returned token is the access credential and is shown exactly once; only its hash is stored. A share can never outlive its site, so its expiry is clamped to the site's expiry.

main procedure

Create a share link for an owned private site. The returned token is the access credential and is shown exactly once; only its hash is stored. A share can never outlive its site, so its expiry is clamped to the site's expiry.

Input

Encodingapplication/json
audienceDid stringdid Optional

Restrict this link to a single account. The recipient must be signed in as this DID; the link alone grants nothing. Omit for a bearer link that anyone holding the URL can open, including people without an atproto account.

expiryMinutes integer Optional

Minutes until this link expires. Omit for the configured default; 0 for no expiry of its own.

minimum: 0
label string Optional

Optional human label for this link.

maxLength: 128 bytes
siteId stringrecord-key Required

A valid record key for AT Protocol repositories.

Output

Encodingapplication/json
audienceDid stringdid Optional

Set when this link is restricted to a single account.

createdAt stringdatetime Required

An RFC 3339 formatted timestamp.

directUrl stringuri Optional

The same credential on the site's own origin. Equivalent to `url`; useful when a link should not route through wisp.place.

expiresAt stringdatetime Optional

An RFC 3339 formatted timestamp.

shareId string Required

No description available.

siteId stringrecord-key Required

A valid record key for AT Protocol repositories.

url string Required

Short, human-friendly share link (wisp.place/p/<token>). Contains the credential and is returned exactly once.

Errors

AuthenticationRequired
InvalidRequest
NotFound
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
{
  "description": "Create a share link for an owned private site. The returned token is the access credential and is shown exactly once; only its hash is stored. A share can never outlive its site, so its expiry is clamped to the site's expiry.",
  "errors": [
    {
      "name": "AuthenticationRequired"
    },
    {
      "name": "InvalidRequest"
    },
    {
      "name": "NotFound"
    }
  ],
  "input": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "audienceDid": {
          "description": "Restrict this link to a single account. The recipient must be signed in as this DID; the link alone grants nothing. Omit for a bearer link that anyone holding the URL can open, including people without an atproto account.",
          "format": "did",
          "type": "string"
        },
        "expiryMinutes": {
          "description": "Minutes until this link expires. Omit for the configured default; 0 for no expiry of its own.",
          "minimum": 0,
          "type": "integer"
        },
        "label": {
          "description": "Optional human label for this link.",
          "maxLength": 128,
          "type": "string"
        },
        "siteId": {
          "format": "record-key",
          "type": "string"
        }
      },
      "required": [
        "siteId"
      ],
      "type": "object"
    }
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "audienceDid": {
          "description": "Set when this link is restricted to a single account.",
          "format": "did",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "directUrl": {
          "description": "The same credential on the site's own origin. Equivalent to `url`; useful when a link should not route through wisp.place.",
          "format": "uri",
          "type": "string"
        },
        "expiresAt": {
          "format": "datetime",
          "type": "string"
        },
        "shareId": {
          "type": "string"
        },
        "siteId": {
          "format": "record-key",
          "type": "string"
        },
        "url": {
          "description": "Short, human-friendly share link (wisp.place/p/<token>). Contains the credential and is returned exactly once.",
          "type": "string"
        }
      },
      "required": [
        "shareId",
        "siteId",
        "url",
        "createdAt"
      ],
      "type": "object"
    }
  },
  "type": "procedure"
}

Lexicon Garden

@