Saltar al contenido principal
PUT
/
workspace
/
{workspace_id}
/
settings
@firma-dev/sdk
import { FirmaClient } from "@firma-dev/sdk";

const firma = new FirmaClient({ apiKey: "YOUR_API_KEY" });

const response = await firma.workspaceSettings.updateWorkspaceSettings({
    workspace_id: "workspace_id"
});
console.log(response);
curl --request PUT \
  --url https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "signing_request_email_header": "<string>",
  "signing_request_email_body": "<string>",
  "team_email": "jsmith@example.com",
  "timezone": "<string>",
  "show_credit_cost_in_editor": true,
  "require_otp_verification": true,
  "require_terms_acceptance": true,
  "disable_guided_navigation": true,
  "show_signature_frame": true,
  "color_primary": "<string>",
  "color_primary_fg": "<string>",
  "color_background": "<string>",
  "color_foreground": "<string>",
  "color_card": "<string>",
  "color_border": "<string>",
  "color_accent": "<string>",
  "color_accent_fg": "<string>",
  "color_canvas": "<string>",
  "color_muted": "<string>",
  "color_muted_fg": "<string>",
  "email_local_part": "<string>",
  "allow_presigning_download": true,
  "show_partial_watermark": true,
  "show_qr_code": true,
  "signing_button_label_overrides": {}
}
'
import requests

url = "https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings"

payload = {
    "signing_request_email_header": "<string>",
    "signing_request_email_body": "<string>",
    "team_email": "jsmith@example.com",
    "timezone": "<string>",
    "show_credit_cost_in_editor": True,
    "require_otp_verification": True,
    "require_terms_acceptance": True,
    "disable_guided_navigation": True,
    "show_signature_frame": True,
    "color_primary": "<string>",
    "color_primary_fg": "<string>",
    "color_background": "<string>",
    "color_foreground": "<string>",
    "color_card": "<string>",
    "color_border": "<string>",
    "color_accent": "<string>",
    "color_accent_fg": "<string>",
    "color_canvas": "<string>",
    "color_muted": "<string>",
    "color_muted_fg": "<string>",
    "email_local_part": "<string>",
    "allow_presigning_download": True,
    "show_partial_watermark": True,
    "show_qr_code": True,
    "signing_button_label_overrides": {}
}
headers = {
    "Authorization": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'PUT',
  headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    signing_request_email_header: '<string>',
    signing_request_email_body: '<string>',
    team_email: 'jsmith@example.com',
    timezone: '<string>',
    show_credit_cost_in_editor: true,
    require_otp_verification: true,
    require_terms_acceptance: true,
    disable_guided_navigation: true,
    show_signature_frame: true,
    color_primary: '<string>',
    color_primary_fg: '<string>',
    color_background: '<string>',
    color_foreground: '<string>',
    color_card: '<string>',
    color_border: '<string>',
    color_accent: '<string>',
    color_accent_fg: '<string>',
    color_canvas: '<string>',
    color_muted: '<string>',
    color_muted_fg: '<string>',
    email_local_part: '<string>',
    allow_presigning_download: true,
    show_partial_watermark: true,
    show_qr_code: true,
    signing_button_label_overrides: {}
  })
};

fetch('https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => json_encode([
    'signing_request_email_header' => '<string>',
    'signing_request_email_body' => '<string>',
    'team_email' => 'jsmith@example.com',
    'timezone' => '<string>',
    'show_credit_cost_in_editor' => true,
    'require_otp_verification' => true,
    'require_terms_acceptance' => true,
    'disable_guided_navigation' => true,
    'show_signature_frame' => true,
    'color_primary' => '<string>',
    'color_primary_fg' => '<string>',
    'color_background' => '<string>',
    'color_foreground' => '<string>',
    'color_card' => '<string>',
    'color_border' => '<string>',
    'color_accent' => '<string>',
    'color_accent_fg' => '<string>',
    'color_canvas' => '<string>',
    'color_muted' => '<string>',
    'color_muted_fg' => '<string>',
    'email_local_part' => '<string>',
    'allow_presigning_download' => true,
    'show_partial_watermark' => true,
    'show_qr_code' => true,
    'signing_button_label_overrides' => [
        
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: <api-key>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings"

	payload := strings.NewReader("{\n  \"signing_request_email_header\": \"<string>\",\n  \"signing_request_email_body\": \"<string>\",\n  \"team_email\": \"jsmith@example.com\",\n  \"timezone\": \"<string>\",\n  \"show_credit_cost_in_editor\": true,\n  \"require_otp_verification\": true,\n  \"require_terms_acceptance\": true,\n  \"disable_guided_navigation\": true,\n  \"show_signature_frame\": true,\n  \"color_primary\": \"<string>\",\n  \"color_primary_fg\": \"<string>\",\n  \"color_background\": \"<string>\",\n  \"color_foreground\": \"<string>\",\n  \"color_card\": \"<string>\",\n  \"color_border\": \"<string>\",\n  \"color_accent\": \"<string>\",\n  \"color_accent_fg\": \"<string>\",\n  \"color_canvas\": \"<string>\",\n  \"color_muted\": \"<string>\",\n  \"color_muted_fg\": \"<string>\",\n  \"email_local_part\": \"<string>\",\n  \"allow_presigning_download\": true,\n  \"show_partial_watermark\": true,\n  \"show_qr_code\": true,\n  \"signing_button_label_overrides\": {}\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("Authorization", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings")
  .header("Authorization", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"signing_request_email_header\": \"<string>\",\n  \"signing_request_email_body\": \"<string>\",\n  \"team_email\": \"jsmith@example.com\",\n  \"timezone\": \"<string>\",\n  \"show_credit_cost_in_editor\": true,\n  \"require_otp_verification\": true,\n  \"require_terms_acceptance\": true,\n  \"disable_guided_navigation\": true,\n  \"show_signature_frame\": true,\n  \"color_primary\": \"<string>\",\n  \"color_primary_fg\": \"<string>\",\n  \"color_background\": \"<string>\",\n  \"color_foreground\": \"<string>\",\n  \"color_card\": \"<string>\",\n  \"color_border\": \"<string>\",\n  \"color_accent\": \"<string>\",\n  \"color_accent_fg\": \"<string>\",\n  \"color_canvas\": \"<string>\",\n  \"color_muted\": \"<string>\",\n  \"color_muted_fg\": \"<string>\",\n  \"email_local_part\": \"<string>\",\n  \"allow_presigning_download\": true,\n  \"show_partial_watermark\": true,\n  \"show_qr_code\": true,\n  \"signing_button_label_overrides\": {}\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/settings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"signing_request_email_header\": \"<string>\",\n  \"signing_request_email_body\": \"<string>\",\n  \"team_email\": \"jsmith@example.com\",\n  \"timezone\": \"<string>\",\n  \"show_credit_cost_in_editor\": true,\n  \"require_otp_verification\": true,\n  \"require_terms_acceptance\": true,\n  \"disable_guided_navigation\": true,\n  \"show_signature_frame\": true,\n  \"color_primary\": \"<string>\",\n  \"color_primary_fg\": \"<string>\",\n  \"color_background\": \"<string>\",\n  \"color_foreground\": \"<string>\",\n  \"color_card\": \"<string>\",\n  \"color_border\": \"<string>\",\n  \"color_accent\": \"<string>\",\n  \"color_accent_fg\": \"<string>\",\n  \"color_canvas\": \"<string>\",\n  \"color_muted\": \"<string>\",\n  \"color_muted_fg\": \"<string>\",\n  \"email_local_part\": \"<string>\",\n  \"allow_presigning_download\": true,\n  \"show_partial_watermark\": true,\n  \"show_qr_code\": true,\n  \"signing_button_label_overrides\": {}\n}"

response = http.request(request)
puts response.read_body
{
  "workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "team_email": "jsmith@example.com",
  "timezone": "<string>",
  "language": "en",
  "signing_request_email_header": "<string>",
  "signing_request_email_body": "<string>",
  "show_credit_cost_in_editor": true,
  "require_otp_verification": true,
  "require_terms_acceptance": true,
  "disable_guided_navigation": true,
  "show_signature_frame": true,
  "allow_presigning_download": true,
  "show_partial_watermark": true,
  "show_qr_code": true,
  "color_primary": "#2563eb",
  "color_primary_fg": "#ffffff",
  "color_background": "#0f172a",
  "color_foreground": "#ffffff",
  "color_card": "#22222a",
  "color_border": "#3b3b3b",
  "color_accent": "#34eeff",
  "color_accent_fg": "#000000",
  "color_canvas": "#0f1419",
  "color_muted": "#22222a",
  "color_muted_fg": "#b8b8b8",
  "email_local_part": "signatures",
  "signing_button_label_overrides": {}
}
{
  "error": "Validation Error",
  "message": "Invalid input data",
  "details": {
    "name": "Name is required",
    "email": "Invalid email format"
  }
}
{
  "error": "Unauthorized",
  "message": "Invalid API key"
}
{
  "error": "Not Found",
  "message": "The requested resource was not found"
}
{
  "error": "Rate Limit Exceeded",
  "message": "Too many requests. Please wait before retrying.",
  "details": {
    "retry_after": 45
  }
}

Autorizaciones

Authorization
string
header
requerido

Clave API para autenticación. Usa tu clave API directamente sin ningún prefijo (por ejemplo, 'your-api-key'). El prefijo Bearer es opcional pero no obligatorio.

Parámetros de ruta

workspace_id
string<uuid>
requerido

Cuerpo

application/json
signing_request_email_header
string
signing_request_email_body
string
team_email
string<email>
timezone
string
language
enum<string>

Idioma del espacio de trabajo para las plantillas de correo

Opciones disponibles:
en,
es,
it,
pt,
fr,
de,
el,
ru,
pl
show_credit_cost_in_editor
boolean

Si se debe mostrar el costo en créditos en los editores incrustados

require_otp_verification
boolean | null

Si los firmantes deben verificar su correo mediante OTP. null = heredar de la empresa

require_terms_acceptance
boolean | null

Si los firmantes deben aceptar los términos antes de firmar. null hereda la configuración a nivel de empresa.

disable_guided_navigation
boolean | null

Desactiva el desplazamiento automático al siguiente campo requerido durante la firma. Hereda del espacio de trabajo o de la empresa si no se establece.

show_signature_frame
boolean | null

Si se deben renderizar los marcos de firma en los PDF completados. null = heredar de la empresa

color_primary
string | null

Color primario personalizado (hex #rrggbb). Null para heredar de la empresa.

color_primary_fg
string | null

Anulación del color de primer plano primario. Null para heredar de la empresa.

color_background
string | null

Anulación del color de fondo. Null para heredar de la empresa.

color_foreground
string | null

Anulación del color de primer plano/texto. Null para heredar de la empresa.

color_card
string | null

Anulación del color de fondo de la tarjeta. Null para heredar de la empresa.

color_border
string | null

Anulación del color del borde. Null para heredar de la empresa.

color_accent
string | null

Color de acento de la interfaz del editor. Null para heredar de la empresa.

color_accent_fg
string | null

Color de primer plano en superficies de acento. Null para heredar de la empresa.

color_canvas
string | null

Color del entorno del lienzo del documento en el editor. Null para heredar de la empresa.

color_muted
string | null

Color de superficie atenuado. Null para heredar de la empresa.

color_muted_fg
string | null

Color de texto atenuado. Null para heredar de la empresa.

email_local_part
string | null

La parte local (antes del @) de la dirección de correo del remitente. Null para heredar de la configuración de la empresa.

Required string length: 1 - 64
Pattern: ^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$
allow_presigning_download
boolean | null

Permite a los firmantes descargar el documento original antes de firmar. Hereda de la configuración del espacio de trabajo o de la empresa cuando es null.

show_partial_watermark
boolean | null

Muestra una marca de agua de EN PROGRESO en las descargas parciales de PDF cuando no todos los firmantes han completado. null hereda la configuración a nivel de empresa.

show_qr_code
boolean | null

Muestra un código QR en la página de firma que permite a los firmantes continuar desde su teléfono. Hereda de la configuración del espacio de trabajo o de la empresa cuando es null.

signing_button_label_overrides
object | null

Etiquetas de botón personalizadas por idioma para la vista de firma. Las claves son códigos de idioma (en, de, etc.); los valores son objetos que mapean claves de traducción a texto personalizado. Null para usar los valores predeterminados.

Respuesta

Configuración del espacio de trabajo actualizada correctamente

workspace_id
string<uuid>
requerido
name
string

Nombre del espacio de trabajo

team_email
string<email>

Correo electrónico de contacto del espacio de trabajo

timezone
string

Zona horaria del espacio de trabajo

language
enum<string>
predeterminado:en

Idioma del espacio de trabajo para las plantillas de correo electrónico

Opciones disponibles:
en,
es,
it,
pt,
fr,
de,
el,
ru,
pl
signing_request_email_header
string

Texto de encabezado de correo electrónico personalizado

signing_request_email_body
string

Cuerpo de correo electrónico HTML personalizado

show_credit_cost_in_editor
boolean
predeterminado:true

Indica si se debe mostrar el costo en créditos en los editores incrustados de plantillas y solicitudes de firma

require_otp_verification
boolean | null

Indica si los firmantes deben verificar su correo electrónico mediante OTP antes de acceder a los documentos. null = heredar de la configuración de la empresa, true = requerir OTP, false = no requerir OTP

require_terms_acceptance
boolean | null

Indica si los firmantes deben aceptar los términos antes de firmar. null hereda la configuración a nivel de empresa.

disable_guided_navigation
boolean | null

Desactiva el desplazamiento automático hacia el siguiente campo requerido durante la firma. Hereda del espacio de trabajo o de la empresa si no está definido.

show_signature_frame
boolean | null

Indica si se debe mostrar un marco visual con el ID de Firma alrededor de las firmas en los PDF completados. null = heredar de la configuración de la empresa (habilitado por defecto), true = mostrar marco, false = ocultar marco

allow_presigning_download
boolean | null

Permite a los firmantes descargar el documento original antes de firmar. null hereda la configuración a nivel de empresa.

show_partial_watermark
boolean | null

Muestra una marca de agua de EN PROGRESO en las descargas parciales del PDF cuando no todos los firmantes han completado el proceso. null hereda la configuración a nivel de empresa.

show_qr_code
boolean | null

Muestra un código QR en la página de firma que permite a los firmantes continuar desde su teléfono. null hereda la configuración a nivel de empresa.

color_primary
string | null

Anulación del color primario (hex #rrggbb). Null para heredar de la empresa.

Ejemplo:

"#2563eb"

color_primary_fg
string | null

Anulación del color primario de primer plano. Null para heredar.

Ejemplo:

"#ffffff"

color_background
string | null

Anulación del color de fondo. Null para heredar.

Ejemplo:

"#0f172a"

color_foreground
string | null

Anulación del color de primer plano/texto. Null para heredar.

Ejemplo:

"#ffffff"

color_card
string | null

Anulación del color de fondo de las tarjetas. Null para heredar.

Ejemplo:

"#22222a"

color_border
string | null

Anulación del color del borde. Null para heredar.

Ejemplo:

"#3b3b3b"

color_accent
string | null

Color de acento de la interfaz del editor. Null para heredar.

Ejemplo:

"#34eeff"

color_accent_fg
string | null

Color de primer plano en superficies de acento. Null para heredar.

Ejemplo:

"#000000"

color_canvas
string | null

Color del entorno del lienzo de documento del editor. Null para heredar.

Ejemplo:

"#0f1419"

color_muted
string | null

Color de superficie atenuado. Null para heredar.

Ejemplo:

"#22222a"

color_muted_fg
string | null

Color de texto atenuado. Null para heredar.

Ejemplo:

"#b8b8b8"

email_local_part
string | null

La parte local (antes de la @) de la dirección de correo del remitente. Null para heredar de la configuración de la empresa. Solo aplica cuando hay un dominio personalizado verificado configurado.

Required string length: 1 - 64
Pattern: ^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$
Ejemplo:

"signatures"

signing_button_label_overrides
object | null

Etiquetas de botón personalizadas por idioma para la vista de firma. Las claves son códigos de idioma (en, de, etc.); los valores son objetos que asignan claves de traducción a texto personalizado. Null para usar los valores predeterminados.