place.stream.vod.publishDraft

did:web:stream.place

Documentation

Promote a ready draft VOD to a public place.stream.video record. The server carries over source and durationMs from the draft, backfills a generated thumbnail if the draft has none, writes the video record via putRecord, then deletes the draft.

main procedure

Promote a ready draft VOD to a public place.stream.video record. The server carries over source and durationMs from the draft, backfills a generated thumbnail if the draft has none, writes the video record via putRecord, then deletes the draft.

Input

Encodingapplication/json
uri string Required

The ats:// URI of the draft to publish. Must have status 'ready'.

Output

Encodingapplication/json
videoCid stringcid Required

CID of the created place.stream.video record.

videoUri stringat-uri Required

AT-URI of the created place.stream.video record.

Errors

NotFound No draft exists with the given URI for the authenticated user.
NotReady The draft is not ready to publish (status is 'processing' or 'error').
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": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "description": "The ats:// URI of the draft to publish. Must have status 'ready'."
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "NotFound",
      "description": "No draft exists with the given URI for the authenticated user."
    },
    {
      "name": "NotReady",
      "description": "The draft is not ready to publish (status is 'processing' or 'error')."
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "videoUri",
        "videoCid"
      ],
      "properties": {
        "videoCid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the created place.stream.video record."
        },
        "videoUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the created place.stream.video record."
        }
      }
    },
    "encoding": "application/json"
  },
  "parameters": null,
  "description": "Promote a ready draft VOD to a public place.stream.video record. The server carries over source and durationMs from the draft, backfills a generated thumbnail if the draft has none, writes the video record via putRecord, then deletes the draft."
}

Lexicon Garden

@