Skip to content
Get started

Watermark

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