fyi.opensocial.putSite

lexicons.opensocial.fyi

Documentation

Replace the group's site. Requires group.configure. Its files are uploaded first, with uploadSiteFile. Fields are inlined rather than referencing fyi.opensocial.site, because a record def cannot be used as an input object.

main procedure

Replace the group's site. Requires group.configure. Its files are uploaded first, with uploadSiteFile. Fields are inlined rather than referencing fyi.opensocial.site, because a record def cannot be used as an input object.

Input

Encodingapplication/json
channels array Required

No description available.

maxLength: 50 items
files array Required

No description available.

maxLength: 500 items
group stringdid Required

The group DID. Every method is served by the group's host and authorized against that group's roles.

keepAboutTabs boolean Optional

Keep the tabs the site has now about one thing each (those with about), in the channels still there: for a site published from a folder of files, which doesn't have them.

lexicons array Optional

Lexicon documents of the group's own, for the kinds of record its pages make up that nothing on the network defines. Each is named under the group's handle, reversed (kitchen-sink.opensocial.fyi defines fyi.opensocial.kitchen-sink.task). The host keeps them, checks records of those kinds against them, and lets one change only in ways every record already written still fits. Ones left out are kept as they were.

maxLength: 100 items

Output

Encodingapplication/json
cid stringcid Required

A content identifier (CID) referencing immutable data.

uri stringat-uri Required

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

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": "Replace the group's site. Requires group.configure. Its files are uploaded first, with uploadSiteFile. Fields are inlined rather than referencing fyi.opensocial.site, because a record def cannot be used as an input object.",
  "input": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "channels": {
          "items": {
            "ref": "fyi.opensocial.site#channel",
            "type": "ref"
          },
          "maxLength": 50,
          "type": "array"
        },
        "files": {
          "items": {
            "ref": "fyi.opensocial.site#file",
            "type": "ref"
          },
          "maxLength": 500,
          "type": "array"
        },
        "group": {
          "description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
          "format": "did",
          "type": "string"
        },
        "keepAboutTabs": {
          "description": "Keep the tabs the site has now about one thing each (those with about), in the channels still there: for a site published from a folder of files, which doesn't have them.",
          "type": "boolean"
        },
        "lexicons": {
          "description": "Lexicon documents of the group's own, for the kinds of record its pages make up that nothing on the network defines. Each is named under the group's handle, reversed (kitchen-sink.opensocial.fyi defines fyi.opensocial.kitchen-sink.task). The host keeps them, checks records of those kinds against them, and lets one change only in ways every record already written still fits. Ones left out are kept as they were.",
          "items": {
            "type": "unknown"
          },
          "maxLength": 100,
          "type": "array"
        },
        "theme": {
          "ref": "fyi.opensocial.site#theme",
          "type": "ref"
        }
      },
      "required": [
        "group",
        "channels",
        "files"
      ],
      "type": "object"
    }
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid"
      ],
      "type": "object"
    }
  },
  "type": "procedure"
}

Lexicon Garden

@