> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firma.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Mettre à jour les paramètres de l'entreprise

> Met à jour les paramètres de l'entreprise. Seuls les champs fournis seront mis à jour.



## OpenAPI

````yaml api-reference/v01.36.00/openapi-v01.36.00.fr.json put /company/settings
openapi: 3.0.3
info:
  title: API Partenaire Firma
  description: >-
    API RESTful pour la signature de documents et la gestion de modèles.


    **Authentification** : Tous les endpoints nécessitent une authentification
    par clé API via l'en-tête `Authorization`. Utilisez votre clé API
    directement sans préfixe (par exemple, `your-api-key`). Le préfixe Bearer
    est optionnel mais pas obligatoire.


    **Fonctionnalités de sécurité** :

    - Validation des entrées avec des schémas Zod incluant des messages d'erreur
    détaillés au niveau des champs

    - Jetons JWT signés RSA-256 pour l'accès aux modèles intégrés


    **Limitation de débit** : Les limites de débit sont hiérarchisées selon le
    type d'opération :

    - Opérations de lecture (GET) : 200 requêtes par minute

    - Opérations d'écriture (POST/PUT/PATCH/DELETE) : 120 requêtes par minute

    - Opérations CRUD sur les webhooks : 60 requêtes par minute

    - Test de webhook : 10 requêtes par minute

    - Régénération/expiration de clé API : 1 requête par minute

    - Rotation du secret de webhook : 1 requête par minute


    Lorsque les limites de débit sont dépassées, l'API renvoie une réponse `429
    Too Many Requests` avec les en-têtes suivants :

    - `X-RateLimit-Limit` : Nombre maximal de requêtes par minute pour cet
    endpoint

    - `X-RateLimit-Remaining` : Requêtes restantes dans la fenêtre actuelle

    - `X-RateLimit-Reset` : Horodatage Unix de la réinitialisation de la limite

    - `Retry-After` : Secondes à attendre avant de pouvoir réessayer


    **Gestion des erreurs** : Toutes les erreurs renvoient des réponses JSON
    structurées avec `error` (message lisible par un humain), `code`
    (identifiant lisible par une machine) et `details` (erreurs de validation au
    niveau des champs, le cas échéant).


    **Intégration de l'Éditeur de Modèles intégré** : L'Éditeur de Modèles Firma
    peut être intégré dans votre application à l'aide d'une bibliothèque
    JavaScript autonome.


    ```html

    <!-- Charger la bibliothèque de l'Éditeur de Modèles Firma -->

    <script
    src="https://api.firma.dev/functions/v1/embed-proxy/template-editor.js"></script>


    <script>

    // Générer d'abord un jeton JWT via l'API

    fetch('https://api.firma.dev/functions/v1/signing-request-api/generate-template-token',
    {
      method: 'POST',
      headers: {
        'Authorization': 'YOUR_API_KEY',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        companies_workspaces_templates_id: 'template-id'
      })
    })

    .then(res => res.json())

    .then(data => {
      // Initialiser l'éditeur avec le jeton JWT
      window.FirmaTemplateEditor.init({
        container: '#firma-editor-container',
        jwt: data.token,
        templateId: 'template-id',
        theme: 'dark',
        readOnly: false,
        onSave: (savedData) => {
          console.log('Template saved:', savedData);
        },
        onError: (error) => {
          console.error('Editor error:', error);
        },
        onLoad: (template) => {
          console.log('Template loaded:', template);
        }
      });
    });

    </script>

    ```


    **En-tête X-Firma-Deprecation** : Certaines opérations de création de cachet
    et de mise à jour d'image renvoient un en-tête de réponse
    `X-Firma-Deprecation` lorsqu'elles sont appelées via l'edge gateway,
    indiquant que l'opération doit être effectuée sur l'hôte principal de l'API.
  version: 01.36.00
  contact:
    name: API Support
    url: https://firma.com/support
servers:
  - url: https://api.firma.dev/functions/v1/signing-request-api
    description: API de Production - Recommandée (Actuelle)
  - url: https://api.firma.dev/api/v1
    description: API de Production - Prévue
security:
  - ApiKeyAuth: []
tags:
  - name: Company
    description: Informations et paramètres de l'entreprise
  - name: Workspaces
    description: Opérations de gestion des Espaces de Travail
  - name: Templates
    description: Opérations de gestion des Modèles
  - name: Signing Requests
    description: Opérations de Demande de Signature de documents
  - name: Custom Fields
    description: >-
      Gestion des définitions de champs personnalisés pour les espaces de
      travail, modèles et demandes de signature
  - name: Webhooks
    description: Configuration et gestion des webhooks
  - name: JWT Management
    description: Génération et révocation de jetons JWT pour les modèles intégrés
  - name: Workspace Settings
    description: Configuration et paramètres de l'espace de travail
  - name: Email Domains
    description: >-
      Configuration et vérification de domaine e-mail pour l'envoi d'e-mails de
      demande de signature depuis des domaines personnalisés
  - name: Email Templates
    description: >-
      Gestion des modèles d'e-mail pour la personnalisation des notifications de
      demande de signature au niveau de l'espace de travail et de l'entreprise
  - name: Signer Terms
    description: >-
      Conditions d'utilisation / déclarations de consentement personnalisées
      pour le signataire, au niveau de l'entreprise avec des surcharges par
      espace de travail et par langue
paths:
  /company/settings:
    put:
      tags:
        - Company
      summary: Mettre à jour les paramètres de l'entreprise
      description: >-
        Met à jour les paramètres de l'entreprise. Seuls les champs fournis
        seront mis à jour.
      operationId: updateCompanySettings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                default_expiration_hours:
                  type: integer
                  minimum: 1
                  description: Expiration par défaut de la demande de signature en heures
                require_terms_acceptance:
                  type: boolean
                  description: >-
                    Indique si les signataires doivent accepter les conditions
                    avant de signer
                show_custom_branding_only:
                  type: boolean
                require_otp_verification:
                  type: boolean
                allow_presigning_download:
                  type: boolean
                disable_guided_navigation:
                  type: boolean
                show_signature_frame:
                  type: boolean
                show_partial_watermark:
                  type: boolean
                email_local_part:
                  type: string
                color_primary:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_primary_fg:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_background:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_foreground:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_card:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_border:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_accent:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_accent_fg:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_canvas:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_muted:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                color_muted_fg:
                  type: string
                  nullable: true
                  pattern: ^#[0-9A-Fa-f]{6}$
                show_qr_code:
                  type: boolean
                  nullable: true
                  description: >-
                    Afficher un QR code sur la page de signature qui permet aux
                    signataires de continuer sur leur téléphone. C'est le
                    paramètre par défaut au niveau de l'entreprise ; les espaces
                    de travail, modèles et demandes de signature peuvent le
                    remplacer.
                completion_title:
                  type: string
                  nullable: true
                  description: >-
                    Titre par défaut au niveau de l'entreprise pour la page de
                    finalisation affichée après la signature. Null (ou une
                    chaîne vide) supprime la valeur par défaut d'entreprise.
                  maxLength: 200
                completion_message:
                  type: string
                  nullable: true
                  description: >-
                    Texte principal par défaut au niveau de l'entreprise pour la
                    page de finalisation affichée après la signature. Null (ou
                    une chaîne vide) supprime la valeur par défaut d'entreprise.
                  maxLength: 1000
                completion_redirect_url:
                  type: string
                  format: uri
                  nullable: true
                  description: >-
                    URL par défaut au niveau de l'entreprise vers laquelle le
                    signataire est redirigé depuis la page de finalisation. Doit
                    utiliser https://. Null (ou une chaîne vide) supprime la
                    valeur par défaut d'entreprise.
                  pattern: ^https://
                  maxLength: 2000
                completion_redirect_delay:
                  type: integer
                  nullable: true
                  description: >-
                    Nombre de secondes par défaut au niveau de l'entreprise
                    pendant lesquelles la page de finalisation attend avant de
                    rediriger (0 redirige immédiatement). Null supprime la
                    valeur par défaut d'entreprise.
                  minimum: 0
                  maximum: 30
              additionalProperties: false
      responses:
        '200':
          description: Paramètres de l'entreprise mis à jour avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySettings'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '429':
          $ref: '#/components/responses/RateLimitError'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: TypeScript
          label: '@firma-dev/sdk'
          source: |-
            import { FirmaClient } from "@firma-dev/sdk";

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

            const response = await firma.company.updateCompanySettings();
            console.log(response);
components:
  schemas:
    CompanySettings:
      type: object
      properties:
        default_expiration_hours:
          type: integer
          minimum: 1
        require_terms_acceptance:
          type: boolean
        show_custom_branding_only:
          type: boolean
        require_otp_verification:
          type: boolean
        allow_presigning_download:
          type: boolean
        disable_guided_navigation:
          type: boolean
        show_signature_frame:
          type: boolean
        show_partial_watermark:
          type: boolean
        email_local_part:
          type: string
        color_primary:
          type: string
          nullable: true
        color_primary_fg:
          type: string
          nullable: true
        color_background:
          type: string
          nullable: true
        color_foreground:
          type: string
          nullable: true
        color_card:
          type: string
          nullable: true
        color_border:
          type: string
          nullable: true
        color_accent:
          type: string
          nullable: true
        color_accent_fg:
          type: string
          nullable: true
        color_canvas:
          type: string
          nullable: true
        color_muted:
          type: string
          nullable: true
        color_muted_fg:
          type: string
          nullable: true
        show_qr_code:
          type: boolean
          nullable: true
          description: >-
            Afficher un QR code sur la page de signature permettant aux
            signataires de continuer sur leur téléphone. Il s'agit de la valeur
            par défaut au niveau de l'entreprise ; les espaces de travail,
            modèles et demandes de signature peuvent la remplacer.
        completion_title:
          type: string
          nullable: true
          description: >-
            Titre par défaut au niveau de l'entreprise pour la page de
            finalisation affichée après la signature. Les espaces de travail,
            modèles et demandes de signature peuvent le surcharger. Null
            signifie l'absence de valeur par défaut d'entreprise ; le titre
            traduit intégré est alors utilisé.
          maxLength: 200
        completion_message:
          type: string
          nullable: true
          description: >-
            Texte principal par défaut au niveau de l'entreprise pour la page de
            finalisation affichée après la signature. Les espaces de travail,
            modèles et demandes de signature peuvent le surcharger. Null
            signifie l'absence de valeur par défaut d'entreprise ; le message
            traduit intégré est alors utilisé.
          maxLength: 1000
        completion_redirect_url:
          type: string
          format: uri
          nullable: true
          description: >-
            URL par défaut au niveau de l'entreprise vers laquelle le signataire
            est redirigé depuis la page de finalisation. Doit utiliser https://.
            Les espaces de travail, modèles et demandes de signature peuvent la
            surcharger. Null signifie aucune redirection sauf si un niveau
            inférieur en définit une.
          pattern: ^https://
          maxLength: 2000
        completion_redirect_delay:
          type: integer
          nullable: true
          description: >-
            Nombre de secondes par défaut au niveau de l'entreprise pendant
            lesquelles la page de finalisation attend avant de rediriger (0
            redirige immédiatement). S'applique uniquement lorsqu'une URL de
            redirection est résolue ; la page utilise 5 secondes lorsqu'aucun
            niveau ne définit de délai.
          minimum: 0
          maximum: 30
      required:
        - default_expiration_hours
    Error:
      type: object
      properties:
        error:
          type: string
          description: Message d'erreur lisible par un humain
        code:
          type: string
          description: Code d'erreur exploitable par une machine
        errors:
          type: array
          description: >-
            Toutes les erreurs de validation lorsque plusieurs échecs sont
            signalés ensemble. L'erreur de premier niveau répète le premier
            élément pour la rétrocompatibilité.
          items:
            type: object
            required:
              - message
            properties:
              message:
                type: string
        message:
          type: string
          description: Description détaillée de l'erreur
        details:
          type: object
          description: Détails d'erreur supplémentaires
          additionalProperties: true
      required:
        - error
  responses:
    ValidationError:
      description: Requête Incorrecte - Échec de la validation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Validation Error
            message: Invalid input data
            details:
              name: Name is required
              email: Invalid email format
    UnauthorizedError:
      description: Non Autorisé - Clé API invalide ou manquante
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Unauthorized
            message: Invalid API key
    RateLimitError:
      description: Trop de requêtes - Limite de débit dépassée
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
          description: Nombre maximum de requêtes par minute
        X-RateLimit-Remaining:
          schema:
            type: integer
          description: Requêtes restantes
        X-RateLimit-Reset:
          schema:
            type: integer
          description: Timestamp Unix de la réinitialisation
        Retry-After:
          schema:
            type: integer
          description: Secondes avant de pouvoir réessayer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Rate Limit Exceeded
            message: Too many requests. Please wait before retrying.
            details:
              retry_after: 45
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Clé API pour l'authentification. Utilisez votre clé API directement sans
        préfixe (par exemple, 'your-api-key'). Le préfixe Bearer est optionnel
        mais pas obligatoire.

````