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

# Marca blanca: actualitzar la personalització via API

> Actualitza la marca blanca de Didit amb l'API de gestió: colors, tipografies, radis de vora, logotips i opcions de la interfície del flux de verificació.



Prompt d'actualització de la marca
        Copia el prompt al porta-retalls



      
      

\<pre>

\`Goal: Update the white-label branding for the application tied to an API key.

Endpoint: PATCH https://verification.didit.me/v3/customization/
Auth header: x-api-key: <DIDIT_API_KEY>

Two content types:
\- application/json  -> change colors, fonts, radii and UI options
\- multipart/form-data -> upload logo images (image_square, image_rectangular, image_rectangular_dark, image_favicon)

PARTIAL update: only the fields you send are changed. The application is resolved from the API key (no path params).

JSON body fields:
\- Colors (hex '#RRGGBB' or '#RRGGBBAA'): color_primary, color_secondary, color_background, color_panel, color_panel_10, color_on_panel_1, color_on_panel_2, color_on_background, color_button_1, color_button_2, color_button_text_1, color_button_text_2, color_pill_text
\- border_radius_panel, border_radius_buttons (integers >= 0)
\- font_family (Google Font name), font_weight (must be available for the family)
\- app_public_name (string|null), privacy_policy_url (string|null)
\- skip_welcome_screen, disable_login_with_didit, hide_progress_bar (boolean)
\- callback_seconds (integer >= 0)
\- delete_logo_square, delete_logo_rectangular, delete_logo_rectangular_dark, delete_favicon (boolean) -> remove an existing logo; an upload sent in the same request wins over its delete flag

Logo upload (multipart/form-data) fields:
\- image_square (1:1)
\- image_rectangular (2:1)
\- image_rectangular_dark (2:1, the rectangular logo for dark mode; returned as logo_rectangular_dark)
\- image_favicon (max 500 KB)
Logo rules for image_square, image_rectangular and image_rectangular_dark: PNG, JPG or WebP (SVG is refused), at least 512 px on the long side, max 1 MB.

NOT allowed here (Business Console only): custom domain and white-label email.

curl (JSON):
curl -X PATCH 'https://verification.didit.me/v3/customization/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"color_primary": "#123456", "font_family": "AR One Sans"}'

curl (logo upload):
curl -X PATCH 'https://verification.didit.me/v3/customization/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'image_rectangular=@logo.png' \
-F 'image_rectangular_dark=@logo-dark.png' \
-F 'image_favicon=@favicon.ico'

Response 200: the full updated BrandingCustomization object (same shape as GET).

Failure modes:
\- 400: validation. Examples: { "color_primary": ["Invalid color format. Use '#RRGGBB' or '#RRGGBBAA' format."] }, { "image_rectangular": ["Image aspect ratio must be 2:1. Got 1024x1024 image dimensions"] }, { "image_rectangular_dark": ["Upload a PNG, JPG or WebP image."] }, { "image_rectangular": ["Image must be at least 512 px on its long side. Got 400x200 image dimensions"] }, { "image_square": ["File size should not exceed 1 MB"] }
\- 401 — missing/invalid x-api-key.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

Enganxa a

## Visió generalActualitza parcialment la marca blanca de l'aplicació resolta a partir de la teva clau d'API. Envia `application/json` per canviar colors, tipografies, radis i opcions de la interfície, o `multipart/form-data` per pujar logos. Només es modifiquen els camps que incloguis; la resta no es toca.## Quan s'ha d'utilitzar- **Personalitza el flux**: defineix els colors de la teva marca, la tipografia i els radis de les cantonades.
- **Puja logos**: defineix el logo quadrat, el logo rectangular i la seva versió per al mode fosc, i el favicon.
- **Ajusta l'experiència**: defineix el nom públic de l'aplicació, l'URL de la política de privacitat i interruptors com ometre la pantalla de benvinguda o amagar la barra de progrés.## Càrrega de logosEnvia els logos com a `multipart/form-data`:- `image_square`: relació d'aspecte 1:1.
- `image_rectangular`: relació d'aspecte 2:1.
- `image_rectangular_dark`: relació d'aspecte 2:1. El logo rectangular per al mode fosc, que es mostra sobre un fons fosc.
- `image_favicon`: mida màxima de **500 KB**.`image_square`, `image_rectangular` i `image_rectangular_dark` han de ser imatges PNG, JPG o WebP, amb almenys 512 px al costat més llarg i com a màxim **1 MB**.
Els fitxers SVG es rebutgen.
La resposta retorna les URL resultants `logo_square`, `logo_rectangular`, `logo_rectangular_dark` i `favicon`.Per eliminar un logo, envia com a `true` l'indicador de supressió corresponent: `delete_logo_square`, `delete_logo_rectangular`, `delete_logo_rectangular_dark` o `delete_favicon`.
Després d'eliminar el logo del mode fosc, `logo_rectangular_dark` val `null`.
Si una mateixa petició puja un logo i també envia el seu indicador de supressió, la pujada prevaleix.Una pujada rebutjada retorna `400` amb el nom del camp i el motiu, per exemple:- `{"image_rectangular_dark": ["Upload a PNG, JPG or WebP image."]}`
- `{"image_rectangular": ["Image must be at least 512 px on its long side. Got 400x200 image dimensions"]}`
- `{"image_rectangular": ["Image aspect ratio must be 2:1. Got 1024x1024 image dimensions"]}`
- `{"image_square": ["File size should not exceed 1 MB"]}`## Notes- L'aplicació es resol a partir de la clau d'API; no hi ha paràmetres de ruta.
- Els colors hexadecimals accepten `#RRGGBB` o `#RRGGBBAA`. `font_weight` ha de ser un pes disponible per a la `font_family` seleccionada.
- **El domini personalitzat i el correu de marca blanca no es poden configurar aquí.** Gestiona'ls a la [Business Console](https://docs.didit.me/ca/console/white-label.md).## PermisosLa clau d'API ha de poder actualitzar la personalització de l'aplicació.## Relacionat- [Obtén la marca](https://docs.didit.me/ca/management-api/customization/get.md)
- [Marca blanca a la consola](https://docs.didit.me/ca/console/white-label.md)


## OpenAPI

````yaml ca/openapi-25.json PATCH /v3/customization/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificació d'identitat. Autentica't amb la capçalera x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/customization/:
    patch:
      tags:
        - Customization
      summary: Actualitzar personalització de marca
      description: >-
        Actualització parcial de la marca blanca de l'aplicació. Envia
        `application/json` per canviar colors, tipografies, radis i opcions
        d'interfície d'usuari, o `multipart/form-data` per pujar imatges de
        logotip. Només es modifiquen els camps que incloguis. El domini
        personalitzat i el correu de marca blanca no es poden configurar
        mitjançant aquest endpoint; fes servir la Business Console per a aquests
        canvis.
      operationId: update_customization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandingCustomizationUpdate'
            examples:
              Update colors and font:
                summary: Canviar els colors i el tipus de lletra de la marca
                value:
                  color_primary: '#123456'
                  color_button_1: '#2567FF'
                  font_family: AR One Sans
                  border_radius_buttons: 16
              Update UI options:
                summary: Canviar el nom públic i les opcions del flux
                value:
                  app_public_name: Acme Verify
                  privacy_policy_url: https://acme.com/privacy
                  skip_welcome_screen: true
                  hide_progress_bar: true
                  callback_seconds: 5
              Remove a logo:
                summary: Elimina el logotip rectangular actual
                value:
                  delete_logo_rectangular: true
              Remove the dark-mode logo:
                summary: Elimina el logotip actual per al mode fosc
                value:
                  delete_logo_rectangular_dark: true
          multipart/form-data:
            schema:
              type: object
              description: >-
                Utilitza multipart/form-data només per pujar imatges de logotip.
                Els camps de marca anteriors també es poden enviar com a camps
                de formulari a la mateixa sol·licitud.
              properties:
                image_square:
                  type: string
                  format: binary
                  description: >-
                    Logotip quadrat (relació d'aspecte 1:1). PNG, JPG o WebP,
                    com a mínim 512 px al costat llarg, com a màxim **1 MB**.
                image_rectangular:
                  type: string
                  format: binary
                  description: >-
                    Logotip rectangular (relació d'aspecte 2:1). PNG, JPG o
                    WebP, com a mínim 512 px al costat llarg, com a màxim **1
                    MB**.
                image_rectangular_dark:
                  type: string
                  format: binary
                  description: >-
                    Logotip rectangular per al mode fosc (relació d'aspecte
                    2:1), mostrat sobre un fons fosc. PNG, JPG o WebP, com a
                    mínim 512 px al costat llarg, com a màxim **1 MB**. Es
                    retorna com a `logo_rectangular_dark`.
                image_favicon:
                  type: string
                  format: binary
                  description: 'Imatge del favicon. Mida màxima: **500 KB**.'
            example:
              image_rectangular: (binary PNG logo, 2:1)
              image_rectangular_dark: (binary PNG logo for dark mode, 2:1)
              image_favicon: (binary favicon)
      responses:
        '200':
          description: >-
            Imatge de marca actualitzada. Es retorna l'objecte de marca COMPLET
            (tots els camps, no només els que has modificat).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandingCustomization'
              examples:
                Updated:
                  value:
                    color_primary: '#123456'
                    color_secondary: '#9DA1A1'
                    color_background: '#FFFFFF'
                    color_panel: '#2567FF'
                    color_panel_10: '#1A1A1A'
                    color_on_panel_1: '#9DA1A1'
                    color_on_panel_2: '#F4F4F6'
                    color_on_background: '#000000'
                    color_button_1: '#2567FF'
                    color_button_2: '#F8F8F8'
                    color_button_text_1: '#FFFFFF'
                    color_button_text_2: '#000000'
                    color_pill_text: '#111827'
                    border_radius_panel: 10
                    border_radius_buttons: 16
                    font_family: AR One Sans
                    font_weight: '400'
                    font_url: https://fonts.googleapis.com/css2?family=AR+One+Sans
                    logo_square: null
                    logo_rectangular: https://cdn.didit.me/white_label/logo_rectangular/...
                    logo_rectangular_dark: null
                    favicon: null
                    app_public_name: Acme Verify
                    privacy_policy_url: https://acme.com/privacy
                    skip_welcome_screen: true
                    disable_login_with_didit: false
                    hide_progress_bar: false
                    callback_seconds: 3
        '400':
          description: >-
            Cos no vàlid. Per exemple: un color hexadecimal amb format
            incorrecte, una família o gruix de tipus de lletra desconeguts, un
            camp exclusiu de la Business Console (`domain`, `from_email`,
            `verify_domain`, `force_remove_domain`, `verify_email_domain`,
            `force_remove_email_domain` i els seus homòlegs de només lectura), o
            una càrrega de logotip que no és una imatge PNG, JPG o WebP, fa
            menys de 512 px al seu costat llarg, supera 1 MB o té una relació
            d'aspecte incorrecta. També es retorna en establir
            `disable_login_with_didit` a `false` mentre hi ha un domini
            personalitzat configurat.
          content:
            application/json:
              examples:
                Bad color:
                  value:
                    color_primary:
                      - >-
                        Invalid color format. Use '#RRGGBB' or '#RRGGBBAA'
                        format.
                Bad logo:
                  value:
                    image_rectangular:
                      - >-
                        Image aspect ratio must be 2:1. Got 1024x1024 image
                        dimensions
                Unsupported logo format:
                  summary: No és una imatge PNG, JPG o WebP (per exemple, un SVG)
                  value:
                    image_rectangular_dark:
                      - Upload a PNG, JPG or WebP image.
                Logo too small:
                  summary: Menys de 512 px al costat llarg
                  value:
                    image_rectangular:
                      - >-
                        Image must be at least 512 px on its long side. Got
                        400x200 image dimensions
                Logo too large:
                  summary: Més d'1 MB
                  value:
                    image_square:
                      - File size should not exceed 1 MB
                Console-only field:
                  value:
                    domain:
                      - Manage this field in the Business Console.
                Bad font weight:
                  value:
                    font_weight:
                      - >-
                        Font weight 950 is not available for Inter. Available
                        weights are: 100, 200, 300, 400, 500, 600, 700, 800, 900
        '403':
          description: >-
            Falta la clau d'API, està mal formada, ha caducat o està assignada a
            una aplicació diferent. Si falta la clau es retorna `403`; una clau
            incorrecta, revocada o caducada retorna `401`.
          content:
            application/json:
              examples:
                Invalid token:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            S'ha superat el límit de freqüència. Reintenta amb un retrocés
            exponencial.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X PATCH 'https://verification.didit.me/v3/customization/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"color_primary": "#123456", "font_family": "AR One Sans"}'
        - lang: curl
          label: curl (logo upload)
          source: |-
            curl -X PATCH 'https://verification.didit.me/v3/customization/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -F 'image_rectangular=@logo.png' \
              -F 'image_rectangular_dark=@logo-dark.png' \
              -F 'image_favicon=@favicon.ico'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.customization.update(
                image_rectangular=open("image_rectangular.jpg", "rb"),
                image_rectangular_dark=open("image_rectangular_dark.jpg", "rb"),
                image_favicon=open("image_favicon.jpg", "rb"),
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit, { fileFromPath } from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.customization.update({
              image_rectangular: await fileFromPath("image_rectangular.jpg"),
              image_rectangular_dark: await fileFromPath("image_rectangular_dark.jpg"),
              image_favicon: await fileFromPath("image_favicon.jpg"),
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Customization.Update(ctx, didit.CustomizationUpdateParams{\n\tImageRectangular:     didit.Some(didit.FileFromPath(\"image_rectangular.jpg\")),\n\tImageRectangularDark: didit.Some(didit.FileFromPath(\"image_rectangular_dark.jpg\")),\n\tImageFavicon:         didit.Some(didit.FileFromPath(\"image_favicon.jpg\")),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.nio.file.Path;

            import me.didit.Didit;

            import me.didit.types.CustomizationUpdateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.customization().update(CustomizationUpdateParams.builder()
                    .imageRectangular(Path.of("image_rectangular.jpg"))
                    .imageRectangularDark(Path.of("image_rectangular_dark.jpg"))
                    .imageFavicon(Path.of("image_favicon.jpg"))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;
            use Didit\File;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->customization->update([
                'image_rectangular' => File::fromPath('image_rectangular.jpg'),
                'image_rectangular_dark' => File::fromPath('image_rectangular_dark.jpg'),
                'image_favicon' => File::fromPath('image_favicon.jpg'),
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.customization.update(
              image_rectangular: Pathname("image_rectangular.jpg"),
              image_rectangular_dark: Pathname("image_rectangular_dark.jpg"),
              image_favicon: Pathname("image_favicon.jpg")
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Customization.UpdateAsync(new
            CustomizationUpdateParams

            {
                ImageRectangular = FileUpload.FromPath("image_rectangular.jpg"),
                ImageRectangularDark = FileUpload.FromPath("image_rectangular_dark.jpg"),
                ImageFavicon = FileUpload.FromPath("image_favicon.jpg"),
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    BrandingCustomizationUpdate:
      type: object
      description: >-
        Cos d'actualització parcial de la marca. Proporciona només els camps que
        vulguis canviar. Els colors hexadecimals accepten `#RRGGBB` o
        `#RRGGBBAA`. El domini personalitzat i el correu de marca blanca no
        s'accepten aquí.
      properties:
        color_primary:
          type: string
          description: Color de les capçaleres / del text principal.
        color_secondary:
          type: string
          description: Color del paràgraf / text secundari.
        color_background:
          type: string
          description: Color de fons de la pàgina.
        color_panel:
          type: string
          description: Color del panell / d'accent.
        color_panel_10:
          type: string
          description: Color del panell al 10% d'opacitat.
        color_on_panel_1:
          type: string
          description: Color del text de suport als panells.
        color_on_panel_2:
          type: string
          description: Color de la píndola / distintiu als panells.
        color_on_background:
          type: string
          description: Color del text sobre el fons.
        color_button_1:
          type: string
          description: Color del botó principal.
        color_button_2:
          type: string
          description: Color del botó secundari.
        color_button_text_1:
          type: string
          description: Color del text del botó principal.
        color_button_text_2:
          type: string
          description: Color del text del botó secundari.
        color_pill_text:
          type: string
          description: Color del text per a pastilles, camps d'entrada i selectors.
        border_radius_panel:
          type: integer
          minimum: 0
          description: Radi de les cantonades del panell en píxels.
        border_radius_buttons:
          type: integer
          minimum: 0
          description: Radi de cantonada del botó en píxels.
        font_family:
          type: string
          description: >-
            Nom de la família de fonts de Google (p. ex. `Inter`, `AR One
            Sans`).
        font_weight:
          type: string
          description: >-
            Pes de la font disponible per a la família seleccionada (p. ex.,
            `regular`, `500`, `700`).
        app_public_name:
          type: string
          nullable: true
          description: Nom públic que es mostra al flux de verificació.
        privacy_policy_url:
          type: string
          nullable: true
          description: URL de la política de privadesa que es mostra a l'usuari final.
        skip_welcome_screen:
          type: boolean
          description: Omet la pantalla inicial de benvinguda.
        disable_login_with_didit:
          type: boolean
          description: >-
            Continua com a convidat en lloc de mostrar la pantalla d'inici de
            sessió amb Didit. No es pot tornar a establir a `false` mentre hi
            hagi un domini personalitzat configurat (400).
        hide_progress_bar:
          type: boolean
          description: Amaga la barra de progrés durant el flux.
        callback_seconds:
          type: integer
          minimum: 0
          description: Retard (segons) abans de redirigir a l'URL de callback.
        delete_logo_square:
          type: boolean
          description: Quan és `true`, elimina el logotip quadrat actual.
        delete_logo_rectangular:
          type: boolean
          description: Quan és `true`, elimina el logotip rectangular actual.
        delete_logo_rectangular_dark:
          type: boolean
          description: >-
            Quan és `true`, elimina el logotip actual del mode fosc, i
            `logo_rectangular_dark` passa a ser `null`. Si la mateixa
            sol·licitud multipart també puja `image_rectangular_dark`, preval la
            pujada.
        delete_favicon:
          type: boolean
          description: Quan és `true`, elimina la icona de favorits (favicon) actual.
    BrandingCustomization:
      type: object
      description: >-
        Personalització de marca blanca per a una aplicació: colors,
        tipografies, radis, URL de logotips i opcions d'UI/UX. Les URL de
        logotips són de només lectura (s'estableixen pujant imatges). El domini
        personalitzat i el correu electrònic de marca blanca no s'inclouen.
      properties:
        color_primary:
          type: string
        color_secondary:
          type: string
        color_background:
          type: string
        color_panel:
          type: string
        color_panel_10:
          type: string
        color_on_panel_1:
          type: string
        color_on_panel_2:
          type: string
        color_on_background:
          type: string
        color_button_1:
          type: string
        color_button_2:
          type: string
        color_button_text_1:
          type: string
        color_button_text_2:
          type: string
        color_pill_text:
          type: string
        border_radius_panel:
          type: integer
        border_radius_buttons:
          type: integer
        font_family:
          type: string
        font_weight:
          type: string
        font_url:
          type: string
          nullable: true
          description: >-
            Només de lectura. URL resolta del full d'estils de Google Fonts per
            a la família seleccionada.
        logo_square:
          type: string
          nullable: true
          description: >-
            URL de només lectura del logotip quadrat. Puja'l mitjançant
            `image_square`.
        logo_rectangular:
          type: string
          nullable: true
          description: >-
            URL de només lectura del logotip rectangular. Puja'l mitjançant
            `image_rectangular`.
        logo_rectangular_dark:
          type: string
          format: uri
          nullable: true
          description: >-
            Només de lectura. URL temporal signada del logotip rectangular per
            al mode fosc, que es mostra sobre un fons fosc. `null` quan no s'ha
            configurat cap logotip fosc o no es mostren logotips rectangulars
            per al teu compte. Puja'l amb `image_rectangular_dark`.
        favicon:
          type: string
          nullable: true
          description: URL de només lectura del favicon. Puja'l mitjançant `image_favicon`.
        app_public_name:
          type: string
          nullable: true
        privacy_policy_url:
          type: string
          nullable: true
        skip_welcome_screen:
          type: boolean
        disable_login_with_didit:
          type: boolean
        hide_progress_bar:
          type: boolean
        callback_seconds:
          type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clau d'API de la teva aplicació, des de Developers -> API keys a la
        Business Console. La clau primària té accés complet. Una clau amb nom
        pot tenir l'abast limitat: cap, lectura o escriptura per recurs,
        limitada a determinats fluxos de treball o a sessions aprovades, a una
        llista d'adreces IP i a una data de caducitat. 401 significa que la clau
        és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap
        clau, que la clau no té accés a aquest recurs o acció, o que la
        sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una
        ruta de sessió significa que la sessió està fora dels fluxos de treball
        o estats de la clau. Una clau sense accés a fitxers multimèdia rep els
        URL d'imatge, vídeo i PDF com a null, i una clau sense permís
        d'escriptura de sessions rep els enllaços de sessió i els tokens com a
        null. Consulta https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.