Files

Update a file's settings

Update a file's sharing settings: viewer mode, password, downloads, expiry (deleteAt or neverExpire), view limit, email gate, vanity slug, watermark, page range, appearance. Omitted fields keep their value. Owner via files:write, or the file's manage token while anonymous. 403 above plan, 409 slug in use, 410 dead link.

Besides an API key or OAuth token (files:write), this endpoint accepts a manage token as the bearer credential: anonymous uploads return a manageToken bound to the new file, valid for 30 days and only while the file remains unclaimed (a claimed file answers 404 to token callers). Manage-token callers are limited to the free plan's settings; plan-gated fields return 403. The claimToken from the same response is a different credential (it attaches the file to an account) and is never accepted here.

put/api/v1/files/{uuid}/settings

Request

  • Base URL: https://everypage.co
  • URL: https://everypage.co/api/v1/files/{uuid}/settings
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://everypage.co/oauth/authorize, token URL https://everypage.co/oauth/token, scopes: files:write)
    • HTTP bearer

Request body

viewerMode'standard' | 'flipbook' | 'swipe' | 'magazine'
passwordstring

Non-empty to protect (Basic+); empty string to clear.

allowDownloadboolean
requireEmailboolean

Gate viewing behind an email (Pro).

notifyOnViewboolean

Email you on each read (Basic+).

deleteAtstring date-time

Fixed expiry. Uncapped for signed-in accounts on every plan (null = never expires); manage-token callers on an anonymous file are capped at 7 days. Set through a MANAGE TOKEN on an anonymous file, it also marks the expiry as deliberately chosen, so a Canva republish keeps it instead of re-basing to the 365-day default - a one-way mark (the token lane has no way to hand expiry back to the system).

neverExpireboolean

Permanent link, available to every signed-in plan (not through a manage token). Overrides deleteAt.

viewLimitinteger

Self-destruct after this many views (Basic+). 0 clears the limit; omit to keep. A burned link keeps its row and readership - un-burn it via content replacement.

gateDomainsstring[]

Email-gate domain allowlist (Pro to set a non-empty list; [] clears on any plan).

gateHeadingstring

Heading on the gate card readers see before the document opens (Pro to set; "" clears back to the default wording on any plan; omit to keep). Trimmed; plain text, no line breaks. Shown only while requireEmail is on.

gateMessagestring

Explanatory line under the gate heading (Pro to set; "" clears on any plan; omit to keep). Trimmed; plain text, no line breaks. Shown only while requireEmail is on.

askReceiptboolean

Ask viewers to confirm receipt (Basic+ to enable).

showExpiryboolean

Show readers a live "Expires in" countdown next to Download (default true; any plan, either direction; omit to keep). False also withholds the expiry instant from the public share-link metadata. Moot while the link never expires.

commentsEnabledboolean

Reader feedback notes (Pro to enable).

commentsAllowPublicboolean

Let commenters opt into public display.

notifyOnCommentboolean

Email you (throttled) when a note arrives.

marksEnabledboolean

Proofing page marks (Pro to enable).

annotationsEnabledboolean

Proofing annotations (Pro to enable).

watermarkboolean

Stamp viewer pages (Pro). Watermarked downloads are limited to files up to 100MB (400 above that).

slugstring

Vanity link name on your custom domain (Pro): lowercase letters, digits, and hyphens; "" clears. 409 when another of your files already uses it.

canvaUpdatesEnabledboolean

May a Canva-side republish of the bound design replace this file's bytes? Defaults true; only meaningful on files with a canvaDesignId. Un-gated on every plan in both directions - it is a safety control, not a feature.

detachCanvaDesignboolean

True permanently severs the file from the Canva design that published it: no future publish of the design can update this link (the next publish creates a fresh one). One-way - there is no re-bind through settings - and un-gated on every plan. No-op on unbound files.

viewerSettingsobject

The viewer appearance/behavior blob. Blocks: background (type solid|gradient|image with color/gradient preset/assetId, fit, blur 0-20, dim 0-80), logo (assetId, position tl|tr|bl|br, size s|m|l|xl, linkUrl, hideBadge), page (shadow 0-3, rounded 0-3, edges, coverAlone), flip (speedMs 200-1200, sound, rtl, layout adaptive|single|double), swipe (autoAdvance, intervalMs 3000-30000), protect (contextMenu/print/select Basic+; blurOnLeave Pro), ga4Id (Pro), brand (accentColor, toolbarTheme, badgePosition; Pro), cta (label 1-40 chars, https url, style, color, position; Pro), watermarkStyle (opacity 0.05-0.5, density sparse|normal|dense; Pro), and gate (the sign-in card readers see before the email or password gate: backgroundColor and buttonColor #RRGGBB, imageAssetId of a gate-image asset, imageStyle logo|banner; Pro). Any deviation from the defaults requires Basic+; unknown fields are dropped and out-of-range values clamped. Tier gates are re-applied at serve time, so a downgraded plan's Pro styling stops rendering for viewers immediately.

Response

Settings applied (empty body).

Changes

No recorded changes to this operation across all 1 revision of this API.