Create a Transcript

Fetch a BotGhost transcript URL and host it as a permanent, shareable page. Returns 201 Created on success.

All body parameters can alternatively be provided as HTTP headers prefixed with x-transcript- (e.g. x-transcript-slug). Headers take precedence over body fields.

Request Body

ParameterTypeDescription
urlrequiredstringBotGhost transcript URL to fetch HTML content from. Either url or html must be provided.
htmlstringRaw HTML string to use as the transcript content. An alternative to providing a url.
slugstringA custom slug or template for this transcript. Can include variables like {uuid}, {counter}, etc. Overrides project settings.
namestringA custom display name for the transcript. If omitted, the name is automatically detected from the HTML content.
passwordstringOverride the default password for this transcript. Only applies when password protection is active.
protectedbooleanForce password protection on or off for this specific transcript, overriding project defaults.
requiredRolesarrayAn array of Discord Role IDs required to view this transcript. This engages Discord OAuth on the transcript viewer. Requires Discord Sync to be configured.
path_prefixstringA custom path prefix or template for this transcript's URL (e.g. {project}/{date}). Overrides project settings.
dry_runbooleanIf true, validates the request and returns a preview URL without saving anything. Useful for testing your slug template.

Interactive Request Builder

Force Protection

Enable password protection regardless of settings.

Dry Run Mode

Validate request without saving anything.

Link a Discord server in your project settings to select real roles here.

POST
https://bgplus.robbiee.com/api/v1/create

Headers

x-api-token: your_api_token

Body (Raw JSON)

json
{
  "url": "https://transcripts.botghost.com/view/12345"
}

Response Body

ParameterTypeDescription
urlstringThe primary public hosted URL for the transcript based on your project settings.
urlsobjectAn object containing all possible access URLs (main, shorthand, custom, direct, etc.).
idstringThe unique internal ID for the transcript.
slugstringThe unique slug used in the URL.
namestringThe display name of the transcript.
isProtectedbooleanWhether password protection is enabled for this transcript.
passwordstringThe transcript password. Returns the provided password or an auto-generated one if protection is enabled.
requiredRolesarrayThe Discord roles required to access the transcript, if any were provided.
dry_runbooleanIdentifies if the response is from a dry-run request.
preview_slugstringThe generated preview slug (dry-run only).
detected_namestringThe display name detected from the transcript HTML (dry-run only).
pathPrefixstringThe processed path prefix used for the generated transcript URLs.

Example Response

json
{
  "url": "https://test.bgplus.robbiee.com/my-transcript-slug",
  "urls": {
    "main": "https://bgplus.robbiee.com/72280428/my-transcript-slug",
    "shorthand": "https://bgpl.us/72280428/my-transcript-slug",
    "subdomain": "https://test.bgplus.robbiee.com/my-transcript-slug",
    "shorthandSubdomain": "https://test.bgpl.us/my-transcript-slug",
    "direct": "https://bgplus.robbiee.com/my-transcript-slug"
  },
  "id": "j57abc123...",
  "slug": "my-transcript-slug",
  "pathPrefix": "test-project/2026-02-26",
  "isProtected": true,
  "password": "example_password",
  "requiredRoles": ["123456789012345678"],
  "dry_run": false
}