Reference
API reference
Every operation in version 1.0.0 of the GogoScreen API. 71 operations across 12 domains, 61 of them callable with an API key over HTTP and as MCP tools, and 10 only from a signed in dashboard session.
Base URL
Every path below is relative to https://api.gogoscreen.com/api/v1. Authenticate with an API key in the Authorization: Bearer header, or in X-API-Key. The machine readable document is at /docs/openapi.json.
Each row names the scopes the operation needs and the rate class it belongs to. async marks an operation that answers 202 and starts work you then poll; idempotency key marks one that requires an Idempotency-Key header.
export GOGOSCREEN_API_KEY="gsk_…"
curl "https://api.gogoscreen.com/api/v1/account" \
-H "Authorization: Bearer $GOGOSCREEN_API_KEY"Account
Who the credential belongs to, and what the account is allowed to do.
| Endpoint | Scopes | Rate limit |
|---|---|---|
GET /account The account behind this credential | account:read | read, 600/min |
Assistant
The support assistant in the dashboard: ask it a question, read and close a conversation, or send the question to a person. Dashboard sessions only: a key may not use the assistant.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /assistant/conversations/{id}/close Close a conversation | assistant:use idempotency key | write, 120/min |
GET /assistant/conversations/current The conversation to resume | assistant:use | read, 600/min |
GET /assistant/conversations/{id} One conversation and its messages | assistant:use | read, 600/min |
POST /assistant/handoffs Ask a person | assistant:use idempotency key | write, 120/min |
POST /assistant/messages Ask the assistant | assistant:use idempotency key | expensive, 20/min |
Catalog
The fixed lists a caller chooses from: plans, voices, render options and marketing templates.
| Endpoint | Scopes | Rate limit |
|---|---|---|
GET /catalog/marketing/templates The marketing designs | catalog:read | read, 600/min |
GET /catalog/plans The plans and the top up rate | catalog:read | read, 600/min |
GET /catalog/render-options The walkthrough render options | catalog:read | read, 600/min |
GET /catalog/voices The narration voices | catalog:read | read, 600/min |
Keys
API keys: creating, listing, rotating and revoking them. Dashboard credentials only: a key may not manage keys.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /keys Create an API key | keys:manage idempotency key | write, 120/min |
GET /keys/{id} One API key | keys:manage | write, 120/min |
GET /keys The account's API keys | keys:manage | write, 120/min |
POST /keys/{id}/revoke Revoke an API key | keys:manage idempotency key | write, 120/min |
POST /keys/{id}/rotate Rotate an API key | keys:manage idempotency key | write, 120/min |
Marketing
Marketing videos generated from a scan of a website: sources, projects, revisions, generations and exports.
| Endpoint | Scopes | Rate limit |
|---|---|---|
GET /marketing/brand-kit The account's brand kit | marketing:read | read, 600/min |
PUT /marketing/brand-kit Save the account's brand kit | marketing:write idempotency key | write, 120/min |
POST /marketing/exports/{id}/cancel Stop an export | marketing:export idempotency key | write, 120/min |
POST /marketing/projects/{id}/exports Cut the finished video | marketing:export async idempotency key | charge, 20/min |
GET /marketing/exports/{id}/download A link to a finished export or one of its sidecars | marketing:read | read, 600/min |
GET /marketing/exports/{id} One marketing export | marketing:read | read, 600/min |
GET /marketing/exports The account's marketing exports | marketing:read | read, 600/min |
POST /marketing/exports/quote What an export would cost | marketing:read | read, 600/min |
POST /marketing/generations/{id}/cancel Stop a generation | marketing:write idempotency key | write, 120/min |
POST /marketing/generations Turn a scanned website into a marketing project | marketing:write async idempotency key | expensive, 20/min |
GET /marketing/generations/{id} One generation | marketing:read | read, 600/min |
GET /marketing/generations The account's generations | marketing:read | read, 600/min |
POST /marketing/generations/preflight Would this generation be accepted? | marketing:write | expensive, 20/min |
POST /marketing/generations/{id}/retry Run a failed generation again | marketing:write async idempotency key | expensive, 20/min |
POST /marketing/projects Start a marketing project | marketing:write idempotency key | write, 120/min |
DELETE /marketing/projects/{id} Delete a marketing project | marketing:write idempotency key | write, 120/min |
GET /marketing/projects/{id} One marketing project | marketing:read | read, 600/min |
GET /marketing/projects The account's marketing projects | marketing:read | read, 600/min |
POST /marketing/projects/{id}/revisions Rework a project | marketing:write idempotency key | write, 120/min |
POST /marketing/projects/{id}/edits Change a project with a sentence | marketing:write idempotency key | expensive, 20/min |
GET /marketing/projects/{id}/revisions A project's revisions | marketing:read | read, 600/min |
POST /marketing/sources/{id}/cancel Stop a scan | marketing:write idempotency key | write, 120/min |
POST /marketing/sources Scan a website | marketing:write async idempotency key | expensive, 20/min |
DELETE /marketing/sources/{id} Delete a website source | marketing:write idempotency key | write, 120/min |
GET /marketing/sources/{id} One website source | marketing:read | read, 600/min |
GET /marketing/sources The account's website sources | marketing:read | read, 600/min |
POST /marketing/sources/{id}/refresh Scan a website again | marketing:write async idempotency key | expensive, 20/min |
Renders
Product walkthroughs recorded from a live website, and the seconds they spend.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /renders/{id}/cancel Stop a render | renders:write idempotency key | write, 120/min |
POST /renders Make a walkthrough video from a URL | renders:write async idempotency key | charge, 20/min |
POST /storyboards/{id}/renders Make a video from a storyboard you approved | renders:write async idempotency key | charge, 20/min |
GET /renders/{id}/download A link to the finished video | renders:read | read, 600/min |
GET /renders/{id} One render | renders:read | read, 600/min |
GET /renders The account's renders | renders:read | read, 600/min |
POST /renders/quote What a render would cost | renders:read | read, 600/min |
Storyboards
The plan for a walkthrough, made and reviewed before any video is rendered.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /storyboards/{id}/cancel Stop a storyboard | storyboards:write idempotency key | write, 120/min |
POST /storyboards Plan a walkthrough | storyboards:write async idempotency key | expensive, 20/min |
GET /storyboards/{id} One storyboard | storyboards:read | read, 600/min |
POST /storyboards/hint/improve Rewrite a brief into a clearer plan request | storyboards:write | expensive, 20/min |
GET /storyboards The account's storyboards | storyboards:read | read, 600/min |
POST /storyboards/suggestions Five things to show | storyboards:write | expensive, 20/min |
Templates
Saved render settings, reusable across walkthroughs.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /templates Save a render template | renders:write idempotency key | write, 120/min |
DELETE /templates/{id} Delete a saved template | renders:write idempotency key | write, 120/min |
GET /templates/{id} One render template | renders:read | read, 600/min |
GET /templates The account's saved render templates | renders:read | read, 600/min |
PUT /templates/{id} Change a saved template | renders:write idempotency key | write, 120/min |
Usage
What this account has called, and how much of it.
| Endpoint | Scopes | Rate limit |
|---|---|---|
GET /usage What this credential has been doing | usage:read | read, 600/min |
Voices
Hearing a narration voice before spending seconds on one.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /voices/preview Hear a voice | catalog:read | expensive, 20/min |
Wallet
The account's seconds: the balance, and every movement of it.
| Endpoint | Scopes | Rate limit |
|---|---|---|
GET /wallet The video-time balance | wallet:read | read, 600/min |
GET /wallet/ledger Where the video time went | wallet:read | read, 600/min |
Webhooks
Where this account's job events are delivered, and what happened to each delivery.
| Endpoint | Scopes | Rate limit |
|---|---|---|
POST /webhooks Register a webhook endpoint | webhooks:manage idempotency key | write, 120/min |
DELETE /webhooks/{id} Delete a webhook endpoint | webhooks:manage idempotency key | write, 120/min |
GET /webhooks/{id}/deliveries One endpoint's delivery log | webhooks:manage | write, 120/min |
GET /webhooks/{id} One webhook endpoint | webhooks:manage | write, 120/min |
GET /webhooks The account's webhook endpoints | webhooks:manage | write, 120/min |
POST /webhooks/{id}/test Send a test delivery | webhooks:manage idempotency key | write, 120/min |
PATCH /webhooks/{id} Change a webhook endpoint | webhooks:manage idempotency key | write, 120/min |