Skip to content
Get started

Watermark

Delete
client.teams.watermark.delete(stringteamID, RequestOptionsoptions?): WatermarkDeleteResponse { deleted }
DELETE/teams/{teamId}/watermark
Delete Logo
client.teams.watermark.deleteLogo(stringteamID, RequestOptionsoptions?): WatermarkDeleteLogoResponse { watermark }
DELETE/teams/{teamId}/watermark/logo
Preview
client.teams.watermark.preview(stringteamID, WatermarkPreviewParams { opacity, placement, rotation, 3 more } body, RequestOptionsoptions?): WatermarkPreviewResponse { image }
POST/teams/{teamId}/watermark/preview
Retrieve
client.teams.watermark.retrieve(stringteamID, RequestOptionsoptions?): WatermarkRetrieveResponse { watermark }
GET/teams/{teamId}/watermark
Update
client.teams.watermark.update(stringteamID, WatermarkUpdateParams { enabled, opacity, placement, 4 more } body, RequestOptionsoptions?): WatermarkUpdateResponse { watermark }
PUT/teams/{teamId}/watermark
Update Logo
client.teams.watermark.updateLogo(stringteamID, WatermarkUpdateLogoParams { logo } body, RequestOptionsoptions?): WatermarkUpdateLogoResponse { watermark }
PUT/teams/{teamId}/watermark/logo
ModelsExpand Collapse
WatermarkDeleteResponse { deleted }
deleted: boolean
WatermarkDeleteLogoResponse { 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

WatermarkPreviewResponse { image }

Response of the watermark preview routes.

image: string

The sample image with the mark drawn on it, base64-encoded.

WatermarkRetrieveResponse { 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

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

WatermarkUpdateLogoResponse { 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