---
title: "Create or update workspace signer terms"
method: PUT
path: "/workspace/{workspace_id}/signer-terms/{language}"
tags: ["Signer Terms"]
---

# Create or update workspace signer terms

`PUT /workspace/{workspace_id}/signer-terms/{language}`

Create or update workspace-level signer terms for a specific language. The submitted statement is sanitized before storage.

## Path parameters

- `workspace_id` string, uuid, required
- `language` 'en' | 'es' | 'it' | 'pt' | 'fr' | 'de' | 'el' | 'ru' | 'pl' | 'cs' | 'sv' | 'nl' | 'ro' | 'nb', required

## Request body

- object
  - `statement_text` string, required — Signer consent statement as HTML. Sanitized before storage.
  - `terms_url` string, uri, nullable — Optional external terms link

## Response `200`

Workspace signer terms updated successfully

- SignerTermsUpdateResponse — Signer terms update result
  - `ok` boolean, required
  - `storedHtml` string — The sanitized HTML actually stored
  - `changed` boolean — Whether sanitization altered the submitted statement

## Other responses

- `400` — Bad Request - Validation failed
- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden - Insufficient permissions
- `404` — Not Found - Resource does not exist
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.dev/firma/apis/firma-partner-api.md) · [All operations](https://skmtc.dev/firma/apis/firma-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firma/firma-partner-api/revisions/5c03d6a9d080/schema)
