Skip to content
Get started

Update

client.teams.watermark.update(stringteamID, WatermarkUpdateParams { enabled, opacity, placement, 4 more } body, RequestOptionsoptions?): WatermarkUpdateResponse { watermark }
PUT/teams/{teamId}/watermark

Create or update the team’s forced watermark configuration

ParametersExpand Collapse
teamID: string
body: WatermarkUpdateParams { enabled, opacity, placement, 4 more }
enabled: boolean

Whether the watermark is enforced on assets generated in this scope. A disabled project configuration falls back to its team’s.

opacity?: number

Mark opacity, 0.05 (barely visible) to 1 (opaque)

maximum1
minimum0.05
placement?: "bottom-left" | "bottom-right" | "center" | 3 more

Where the mark sits on the image

One of the following:
"bottom-left"
"bottom-right"
"center"
"tiled"
"top-left"
"top-right"
rotation?: number

Mark rotation in degrees. 0 is horizontal, negative tilts it up.

maximum90
minimum-90
scale?: number

Mark width as a fraction of the image width

maximum1
minimum0.05
spacing?: number

Gap between repetitions, as a fraction of the mark’s own size. Only drawn for the tiled placement; 0 repeats the mark edge to edge.

maximum2
minimum0
text?: string

Text rendered as the mark. Ignored while a logo is set.

maxLength64
minLength1
ReturnsExpand Collapse
WatermarkUpdateResponse { watermark }
watermark: Watermark { id, createdAt, createdBy, 14 more }

Forced-watermark configuration stored at one scope.

id: string

Stable identifier derived from level + scopeId

createdAt: string

ISO-8601 creation timestamp

createdBy: string

User id that last wrote the configuration

enabled: boolean

Whether the watermark is enforced on assets generated in this scope. A disabled project configuration falls back to its team’s.

level: "project" | "team"

Scope this configuration applies to: team or project

One of the following:
"project"
"team"
opacity: number

Mark opacity, 0.05 (barely visible) to 1 (opaque)

placement: "bottom-left" | "bottom-right" | "center" | 3 more

Where the mark sits on the image

One of the following:
"bottom-left"
"bottom-right"
"center"
"tiled"
"top-left"
"top-right"
rotation: number

Mark rotation in degrees, -90 to 90. 0 is horizontal.

scale: number

Mark width as a fraction of the image width

scopeId: string

The id of the team or project that owns this configuration

spacing: number

Gap between repetitions, as a fraction of the mark’s own size. Tiled placement only; 0 repeats the mark edge to edge.

updatedAt: string

ISO-8601 last-update timestamp

version: number

Bumped on every write.

deletedAt?: string

Set when the configuration has been deleted.

logoIsOpaque?: boolean

Whether the stored logo has no transparency at all.

Recorded at upload so the UI can warn without decoding the image again: an opaque logo draws its whole rectangle, which a rotated tiled mark turns into a very visible diamond.

logoKey?: string

Where the uploaded logo lives, when one is set.

text?: string

Text rendered as the mark, when no logo is set

Update

import Scenario from '@scenario-labs/sdk';

const client = new Scenario({
  apiKey: process.env['SCENARIO_SDK_API_KEY'], // This is the default and can be omitted
  apiSecret: process.env['SCENARIO_SDK_API_SECRET'], // This is the default and can be omitted
});

const watermark = await client.teams.watermark.update('teamId', { enabled: true });

console.log(watermark.watermark);
{
  "watermark": {
    "id": "id",
    "createdAt": "createdAt",
    "createdBy": "createdBy",
    "enabled": true,
    "level": "project",
    "opacity": 0,
    "placement": "bottom-left",
    "rotation": 0,
    "scale": 0,
    "scopeId": "scopeId",
    "spacing": 0,
    "updatedAt": "updatedAt",
    "version": 0,
    "deletedAt": "deletedAt",
    "logoIsOpaque": true,
    "logoKey": "logoKey",
    "text": "text"
  }
}
Returns Examples
{
  "watermark": {
    "id": "id",
    "createdAt": "createdAt",
    "createdBy": "createdBy",
    "enabled": true,
    "level": "project",
    "opacity": 0,
    "placement": "bottom-left",
    "rotation": 0,
    "scale": 0,
    "scopeId": "scopeId",
    "spacing": 0,
    "updatedAt": "updatedAt",
    "version": 0,
    "deletedAt": "deletedAt",
    "logoIsOpaque": true,
    "logoKey": "logoKey",
    "text": "text"
  }
}