Skip to main content
POST
Typescript (SDK)

Authorizations

Authorization
string
header
required

API key in the format: Bearer {api_token}

Headers

Idempotency-Key
string

Makes this write safe to retry: a repeat with the same key replays the first response instead of creating a second resource. Scoped to the account, remembered for 24 hours; reusing a key with a different payload is an error.

Maximum string length: 255

Body

application/json
html
string

The page's HTML. Give exactly one of html or file_path.

file_path
string

Absolute path of the HTML file on the account's Crevio computer (e.g. /workspace/reports/q2.html). Give exactly one of html or file_path.

slug
string

URL slug: lowercase letters, digits and hyphens. Becomes the page path, so pick something readable. Defaults to a slug of the page's .

Maximum string length: 60
Pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
access
enum<string>
default:members

Who can open the link. members: signed-in members of this account. specific_members: only the people in members and groups (account admins keep access). public: anyone on the internet — only when the user explicitly asked for a shareable public link.

Available options:
public,
members,
specific_members
members
string[]

For specific_members: emails of team members allowed to open the page. Someone who is not on the team fails the call; invite them first.

Maximum array length: 50
groups
string[]

For specific_members: names of the account's groups whose members may open the page.

named_only
boolean
default:false

For specific_members: keep account admins out too, so only the named people and groups and the page's access manager can open it.

live_tools
string[]

Read-only tool roles the page may call at view time (e.g. crevioApi.listOrders), for a dashboard that stays current: in the page, crevio.watch(role, args, ({data, storedAt, cached, error}) => render(...), {refreshEvery: 60000}) shows the last result instantly and refetches it; await crevio.call(role, args) fetches once. Calls run as whoever views the page. Data stays off until an account admin approves it, which happens on its own when an admin asked for the page in the chat. A live page cannot be public. Omit for a static page; republishing without it makes the page static again.

Maximum array length: 20
overwrite
boolean
default:true

Replace an existing page of the same slug. false fails instead.

screenshot
boolean
default:true

Render a preview image of the page. Gated links do not unfurl, so pair the preview with the link on other surfaces.

Response

Page replaced

object
string
required
slug
string
required
title
string | null
required
access
enum<string>
required
Available options:
public,
members,
specific_members
url
string
required
access_note
string
required
members
string[]
required
named_only
boolean
required
access_manager
string | null
required
live_tools
string[]
required
live_status
string | null
required
screenshot_url
string | null
required
size_bytes
integer
required
versions
integer
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
replaced
boolean
required

Whether a page with this slug was replaced.

note
string
required

How to share the link.

screenshot_error
string

Why no preview was rendered. The page is live either way.