> ## 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.

# API para eliminar usuaris en lot: esborrat RGPD

> Elimina usuaris de proveïdor de Didit en lot per vendor_data, o elimina tots els usuaris d'una aplicació. Compatible amb el dret a l'oblit del RGPD i la CCPA.



Prompt per eliminar usuaris en lot
        Copia el prompt al porta-retalls



      
      

\<pre>

\`Goal: Permanently delete one or many Didit User entities. The matching user records, their tag links, their comment history, and every retained biometric template anchored to them are removed permanently. Verification sessions are NOT removed by this endpoint; delete those separately with POST /v3/sessions/delete/.

Endpoint: POST https://verification.didit.me/v3/users/delete/
Auth header: x-api-key: <DIDIT_API_KEY>
Content-Type: application/json

Request body — provide at least one selector:
\- vendor_data_list: string[] — your own identifiers (case-insensitive after normalisation).
\- didit_internal_id_list: string[] — Didit internal user IDs, the didit_internal_id returned by the create and get endpoints. Can be combined with vendor_data_list; the two are OR'd.
\- delete_all: true — wipe every user in this application. No confirmation, no undo. Takes precedence: when delete_all is true, the two lists are ignored.

\- retain_face_embeddings: boolean, default false — your explicit choice to keep one image-free biometric template of each deleted person for duplicate detection. Everything else about the person is deleted. Requires face_retention_days.
\- face_retention_days: integer 1 to 3650 — how many days that template is kept. Sent without retain_face_embeddings: true it returns 400 on face_retention_days.

This endpoint never narrows delete_all with filters. The Console's filter_* batch params (filter_search, filter_status, filter_country, filter_date_from, filter_date_to, filter_tag, filter_latest_verification_status, filter_risk, filter_has_sessions, filter_has_open_alerts, filter_aml_monitoring, filter_can_sign_in, filter_auth_status, filter_auth_method, filter_auth_mfa_enabled) are NOT supported here. Any of them sent with a value, even false, is rejected with a 400 keyed by that field, and any other unknown filter_* key with "Unknown filter.", so a narrowed intent does not wipe the whole application. Exception: filter_has_approved_sessions and filter_has_declined_sessions are neither rejected nor applied, so with delete_all they still delete every user. Do not send them.

curl:
curl -X POST 'https://verification.didit.me/v3/users/delete/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"vendor_data_list": ["user-123", "user-456"]}'

Response 200:
\{
"deleted": <int — number of users actually deleted; excludes vendor_data values that didn't match>
}

Biometric templates: unless you set retain_face_embeddings to true, if the application retained image-free biometric templates for these users after session deletion (see /management-api/biometric-templates/overview), Didit purges every one of them before the user is deleted, so the person stops matching in duplicate detection and Face Search. The purge is audited with instruction_source: vendor_user_delete.

Idempotency: re-sending the same list returns deleted: 0 after the first run (unmatched IDs are silently skipped). There is no undo.

Failure modes:
\- 400 — no selector supplied, or a Console-only filter_* param was sent.
No selector: {"vendor_data_list": ["This field is required unless delete_all is true."]}. An unknown filter_* key: {"filter_<name>": ["Unknown filter."]}.
\- 401 — missing/invalid x-api-key.
\- 403 — the API key is revoked or is not valid for this application.
\- 409 — the selection includes a person in a finalized regulatory report. Nothing is deleted. The body has code: in_filed_report and reports[] with uuid, report_number, report_type and case_uuid. Delete the reports, then repeat the request.
\- 409 — code: subject_deletion_in_progress: another request is still deleting one of the selected people. This request deleted nothing; repeat it once that deletion has finished.
\- 429 — rate-limited.
\- 503 — {"detail": "The biometric-template operation could not finish because an external store is unavailable. The operation is retryable."} A retained biometric template could not be purged. No user in the request is deleted; the affected template is already excluded from matching. Repeat the same request.

WARNING — delete_all: true: there is no confirmation step and no undo. Restrict to API keys you intentionally provision for batch maintenance.

When to prefer status change instead:
\- For day-to-day blocking, use PATCH /v3/users/{vendor_data}/update-status/ with {"status": "BLOCKED"} — it keeps the audit trail intact while rejecting future sessions for the same identifier.

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

\</pre>



      
      

Enganxa a

## Visió generalElimina una o més [entitats d'usuari](https://docs.didit.me/ca/entities/users/overview.md). Els registres d'usuari s'eliminen de manera permanent. Aquest endpoint no cobreix les seves sessions de verificació: sobreviuen, però se'ls elimina l'enllaç amb l'usuari; elimina-les amb [Eliminar sessió](https://docs.didit.me/ca/sessions-api/delete-session.md) o [Eliminar sessions en lot](https://docs.didit.me/ca/management-api/sessions/batch-delete.md). Aquest endpoint tampoc no cobreix les transaccions: elimina-les amb [Eliminar transaccions en lot](https://docs.didit.me/ca/management-api/transactions/delete.md).## Quan utilitzar-lo- Sol·licituds de **dret a l'oblit** (GDPR / CCPA).
- **Neteja** d'usuaris de prova durant el QA.
- **Desaprovisionament** d'usuaris eliminats de la teva pròpia plataforma.## Notes- Accepta una llista de valors de `vendor_data`, una llista de valors de `didit_internal_id` o `delete_all: true`. Les dues llistes es poden combinar amb un OR.
- Aquest endpoint mai no restringeix `delete_all` amb filtres, i els paràmetres en lot `filter_*` de la Console es rebutgen amb un `400`; per tant, una intenció restringida no elimina tots els usuaris de l'aplicació.
  Les excepcions són `filter_has_approved_sessions` i `filter_has_declined_sessions`: no es rebutgen ni s'apliquen, així que no els enviïs amb `delete_all`.
- Tot o res: si l'eliminació no es pot completar per als usuaris seleccionats, no se n'elimina cap i pots repetir la mateixa sol·licitud sense risc.
- Idempotent: tornar a enviar la mateixa llista retorna `deleted: 0` després de la primera execució.
- Retorna només un recompte del que s'ha eliminat, no un informe per element. Els valors que no coincideixen amb res s'ignoren en silenci. Envia una llista sense duplicats si vols comparar `deleted` amb el nombre d'identificadors enviats, perquè un identificador repetit només es compta una vegada.
- No s'emet cap webhook per a una eliminació. Els webhooks s'activen en canvis d'estat i de dades de l'usuari, no en l'eliminació; per tant, una integració que necessiti un senyal d'eliminació ha de registrar-lo pel seu compte.
- Aquest endpoint NO elimina les sessions de verificació vinculades a l'usuari. Es mantenen, amb l'enllaç a l'usuari esborrat, així que els seus documents, rostres i fitxers multimèdia només s'eliminen quan elimines les pròpies sessions.
- `retain_face_embeddings` (booleà, per defecte `false`) i `face_retention_days` (d'1 a 3650) són l'elecció explícita teva de conservar una plantilla biomètrica sense imatge per persona eliminada, per a la detecció de duplicats, durant aquest nombre de dies. No es conserva res més sobre la persona. Omet tots dos per eliminar les plantilles juntament amb els usuaris. `face_retention_days` sense `retain_face_embeddings: true`, o `retain_face_embeddings: true` sense `face_retention_days`, retorna `400` per a `face_retention_days`.
- Llevat que estableixis `retain_face_embeddings` a `true`, les [plantilles biomètriques](https://docs.didit.me/ca/management-api/biometric-templates/overview.md) conservades vinculades a l'usuari SÍ es purguen, abans que s'elimini l'usuari. Si una plantilla no es pot purgar perquè un magatzem biomètric no està disponible, la crida retorna `503`, no s'elimina cap usuari de la sol·licitud, i repetir la sol·licitud acaba la feina.## Dades en un informe regulatori finalitzatSi alguna de les persones seleccionades forma part d'un cas amb un informe regulatori finalitzat, tota la sol·licitud retorna `409` i no s'elimina res. La resposta usa `code: in_filed_report` i indica cada informe pel nom, perquè el puguis obrir a la Console:```json theme={null}
{
  "detail": "A case about this person or company has a filed regulatory report, so it cannot be deleted.",
  "code": "in_filed_report",
  "reports": [
    {
      "uuid": "5ec00000-0000-4000-8000-000000000007",
      "report_number": "SAR-0001",
      "report_type": "SAR",
      "case_uuid": "c1a5e000-0000-4000-8000-000000000001"
    }
  ]
}
```Elimina cada informe amb [Eliminar informe](https://docs.didit.me/ca/management-api/regulatory-reports/delete.md) i després repeteix la mateixa sol·licitud. Treure aquesta persona de la llista no n'hi ha prou si una altra persona seleccionada encara és en un informe.## Una eliminació ja en cursUna persona només s'elimina en una sol·licitud alhora. Si una altra sol·licitud encara està eliminant una de les persones seleccionades, aquesta sol·licitud espera com a màxim uns segons i després retorna `409` amb `code: subject_deletion_in_progress` i no elimina res:```json theme={null}
{
  "detail": "This person or company is being deleted. Retry after deletion completes.",
  "code": "subject_deletion_in_progress"
}
```Repeteix la mateixa sol·licitud quan l'altra eliminació hagi acabat. Una persona que ja ha estat eliminada ja no coincideix, així que la repetició només elimina el que queda.## PermisosQualsevol clau d'API activa de l'aplicació pot cridar aquest endpoint. Les claus d'API de Didit són **limitades a l'aplicació, no a un rol**: els [rols i permisos](https://docs.didit.me/ca/console/roles-permissions.md) de la Console (`delete:users` i la resta) decideixen què pot fer una *persona* a la Console, i no s'avaluen per al trànsit de la Management API. Controla qui pot cridar aquest endpoint controlant qui pot llegir la clau d'API de l'aplicació.## Relacionats- [Conservació de dades](https://docs.didit.me/ca/console/data-retention.md)
- [Registres d'auditoria](https://docs.didit.me/ca/console/audit-logs.md)
- [Operacions amb usuaris](https://docs.didit.me/ca/entities/users/operations.md)
- [Plantilles biomètriques](https://docs.didit.me/ca/management-api/biometric-templates/overview.md)


## OpenAPI

````yaml ca/openapi-25.json POST /v3/users/delete/
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/users/delete/:
    post:
      tags:
        - Users
      summary: Eliminar usuaris en lot
      description: >-
        **Elimina permanentment** usuaris: els registres d'usuari s'eliminen de
        manera permanent. Per al bloqueig habitual, utilitza preferentment
        [Actualitza l'estat de
        l'usuari](#patch-/v3/users/-vendor_data-/update-status/) amb `BLOCKED`.
        Selecciona usuaris amb `vendor_data_list`, amb `didit_internal_id_list`,
        o amb tots dos alhora; o passa `delete_all: true`. Aquest endpoint mai
        restringeix `delete_all` mitjançant filtres. Els filtres de Persones de
        la consola es rebutgen amb un `400` (consulta la resposta `400`), de
        manera que una intenció restringida no es converteixi en un esborrat
        complet. Dues excepcions: `filter_has_approved_sessions` i
        `filter_has_declined_sessions` no es rebutgen ni s'apliquen, de manera
        que amb `delete_all: true` continuen eliminant tots els usuaris; no els
        enviïs.


        **Plantilles biomètriques:** tret que defineixis
        `retain_face_embeddings` a `true`, qualsevol plantilla biomètrica sense
        imatges conservada per a aquests usuaris després de l'eliminació de la
        sessió (consulta `/v3/biometric-templates/`) es purga abans d'eliminar
        l'usuari, de manera que la persona deixi de coincidir en la detecció de
        duplicats i a Cerca facial. Amb `retain_face_embeddings: true` i
        `face_retention_days`, tries conservar una plantilla biomètrica sense
        imatges per persona durant aquest nombre de dies, i no es conserva res
        més sobre la persona. Si no es pot purgar una plantilla perquè un
        magatzem biomètric no està disponible, la crida retorna `503`, no
        s'elimina cap usuari de la sol·licitud i repetir la sol·licitud completa
        la tasca.


        **Informes regulatoris presentats:** si les dades seleccionades formen
        part d'un informe regulatori finalitzat, es rebutja tota la sol·licitud
        amb un `409` i no s'elimina res. El cos utilitza `code: in_filed_report`
        i identifica cada informe amb `uuid`, `report_number`, `report_type` i
        `case_uuid`. Elimina els informes i, tot seguit, repeteix la
        sol·licitud.
      operationId: batch_delete_users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                Proporciona `vendor_data_list`, `didit_internal_id_list` o
                `delete_all: true`. Les dues llistes es poden combinar i
                s'aplica una operació OR entre elles. Quan `delete_all` és
                `true`, té prioritat i s'ignoren totes dues llistes.
              properties:
                vendor_data_list:
                  type: array
                  items:
                    type: string
                  description: >-
                    Els teus propis identificadors a eliminar, coincidits
                    exactament com es van enviar.
                didit_internal_id_list:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: >-
                    ID interns d'usuari de Didit per eliminar: el
                    `didit_internal_id` retornat pels endpoints de creació i
                    obtenció.
                delete_all:
                  type: boolean
                  default: false
                  description: Si és `true`, elimina tots els usuaris de l'aplicació.
                retain_face_embeddings:
                  type: boolean
                  default: false
                  description: >-
                    La teva elecció explícita de conservar una plantilla
                    biomètrica sense imatge de cada persona suprimida per a la
                    detecció de duplicats, durant `face_retention_days`. Tota la
                    resta sobre la persona se suprimeix. Omet-ho, o envia
                    `false`, per suprimir les plantilles amb els usuaris. Quan
                    és `true`, `face_retention_days` és obligatori.
                face_retention_days:
                  type: integer
                  minimum: 1
                  maximum: 3650
                  description: >-
                    Nombre de dies que es conserva la plantilla biomètrica sense
                    imatge quan `retain_face_embeddings` és `true`. Obligatori
                    amb aquest paràmetre, i rebutjat sense ell amb un `400` a
                    `face_retention_days`.
                  example: 365
            examples:
              Specific users:
                summary: Elimina usuaris per vendor_data
                value:
                  vendor_data_list:
                    - user-123
                    - user-456
              By Didit internal ID:
                summary: Elimina usuaris per didit_internal_id
                value:
                  didit_internal_id_list:
                    - 3f1c0d3e-8f0a-4c2e-9a3d-9b1f5f4a2c11
              All users:
                summary: Esborra tots els usuaris d'aquesta aplicació
                value:
                  delete_all: true
              Keep face templates:
                summary: >-
                  Elimina usuaris i mantén plantilles facials anònimes durant
                  365 dies
                value:
                  vendor_data_list:
                    - user-123
                  retain_face_embeddings: true
                  face_retention_days: 365
      responses:
        '200':
          description: Usuaris eliminats. Retorna el nombre d'usuaris realment eliminats.
          content:
            application/json:
              schema:
                type: object
                properties:
                  deleted:
                    type: integer
                    description: >-
                      Nombre d'usuaris eliminats (exclou els valors de
                      vendor_data que no han coincidit amb res).
              examples:
                Deleted some:
                  value:
                    deleted: 2
                Nothing matched:
                  value:
                    deleted: 0
        '400':
          description: >-
            Error de validació; no s'elimina res. Els errors estan indexats per
            nom de camp. Sense cap selector (cap de les dues llistes i
            `delete_all` no és `true`), el cos és `{"vendor_data_list": ["This
            field is required unless delete_all is true."]}`; una llista buida
            es rebutja sota la seva pròpia clau amb `"This list may not be
            empty."`. Un filtre exclusiu de la Console (`filter_search`,
            `filter_status`, `filter_country`, `filter_date_from`,
            `filter_date_to`, `filter_tag`, `filter_latest_verification_status`,
            `filter_risk`, `filter_has_sessions`, `filter_has_open_alerts`,
            `filter_aml_monitoring`, `filter_can_sign_in`, `filter_auth_status`,
            `filter_auth_method` o `filter_auth_mfa_enabled`) es rebutja sempre
            que contingui un valor, fins i tot `false`, amb un objecte indexat
            per cadascun d'aquests camps. Qualsevol altra clau `filter_*`
            desconeguda es rebutja amb `"Unknown filter."`.
          content:
            application/json:
              examples:
                Missing selector:
                  summary: No s'ha proporcionat ni list ni delete_all
                  value:
                    vendor_data_list:
                      - This field is required unless delete_all is true.
                Console-only filter:
                  value:
                    filter_has_sessions: >-
                      This filter is Console-only and is not supported by this
                      endpoint.
        '401':
          description: >-
            No s'han proporcionat credencials. Les sol·licituds a rutes
            `/v3/users/*` sense una capçalera `x-api-key` (o token
            `Authorization: Bearer`) són rebutjades pel middleware
            d'autenticació abans d'arribar a l'API.
          content:
            application/json:
              examples:
                Missing credentials:
                  value:
                    detail: >-
                      You must be authenticated with a valid access token to
                      access this endpoint.
        '403':
          description: >-
            Clau d'API no vàlida o revocada, o la clau no pot suprimir usuaris
            per a aquesta aplicació. Una clau absent retorna `403`; una clau
            incorrecta, revocada o caducada retorna `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '409':
          description: >-
            No s'elimina res. `code` n'indica el motiu: `in_filed_report` quan
            la selecció inclou una persona en un informe regulador finalitzat,
            `subject_deletion_in_progress` quan una altra sol·licitud encara
            està eliminant una de les persones seleccionades. Repeteix la
            sol·licitud quan hagi acabat aquesta eliminació.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/InFiledReportError'
                  - $ref: '#/components/schemas/SubjectDeletionInProgressError'
        '429':
          description: >-
            S'ha superat el límit de freqüència; redueix el ritme de les
            sol·licituds i reintenta-ho després de l'interval indicat a
            `Retry-After`.
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
        '503':
          description: >-
            Un magatzem biomètric no estava disponible en conservar o purgar una
            plantilla biomètrica. No s'ha eliminat res; repeteix la mateixa
            sol·licitud. Els reintents són idempotents i convergeixen en una
            única plantilla.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Retryable:
                  value:
                    detail: >-
                      The biometric-template operation could not finish because
                      an external store is unavailable. The operation is
                      retryable.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/users/delete/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"vendor_data_list": ["user-123", "user-456"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.users.batch_delete(
                vendor_data_list=["user-123", "user-456"],
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

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

            const result = await didit.users.batchDelete({
              vendor_data_list: ["user-123", "user-456"],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Users.BatchDelete(ctx, didit.UsersBatchDeleteParams{\n\tVendorDataList: didit.Some([]string{\"user-123\", \"user-456\"}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.UsersBatchDeleteParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.users().batchDelete(UsersBatchDeleteParams.builder()
                    .vendorDataList(List.of("user-123", "user-456"))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

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

            $result = $didit->users->batchDelete([
                'vendor_data_list' => ['user-123', 'user-456'],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result = didit.users.batch_delete(vendor_data_list: ["user-123",
            "user-456"])

            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.Users.BatchDeleteAsync(new
            UsersBatchDeleteParams

            {
                VendorDataList = new string[] { "user-123", "user-456" },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    InFiledReportError:
      type: object
      description: >-
        L'eliminació s'ha rebutjat perquè les dades seleccionades formen part
        d'un informe regulador finalitzat. No s'ha eliminat res. Elimina
        l'informe i després repeteix la sol·licitud.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - in_filed_report
          description: >-
            Codi d'error estable per a una eliminació bloquejada per un informe
            normatiu finalitzat.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: >-
            Informes que bloquegen la supressió d'una persona, empresa, cas o
            sessió.
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/FiledReportTransaction'
          description: >-
            Transaccions que bloquegen l'eliminació d'una transacció, cadascuna
            amb els informes que la llisten.
    SubjectDeletionInProgressError:
      type: object
      description: >-
        Una altra sol·licitud encara està suprimint aquesta persona o empresa.
        Aquesta sol·licitud no ha suprimit res i es pot repetir un cop hagi
        finalitzat aquesta supressió; en repetir-la, se suprimirà allò que
        encara estigui seleccionat.
      required:
        - detail
        - code
      properties:
        detail:
          type: string
        code:
          type: string
          enum:
            - subject_deletion_in_progress
          description: >-
            Codi d'error estable per a una persona o empresa que una altra
            sol·licitud encara està eliminant.
    FiledRegulatoryReport:
      type: object
      description: Un informe regulador finalitzat que impedeix l'eliminació sol·licitada.
      required:
        - uuid
        - report_number
        - report_type
        - case_uuid
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID de l'informe.
        report_number:
          type: string
          description: Número d'informe mostrat a la Console (per exemple, SAR-0001).
        report_type:
          type: string
          enum:
            - SAR
            - STR
            - CTR
            - TTR
            - UTR
            - IFT
            - CBR
            - TFR
          description: Tipus d'informe regulador.
        case_uuid:
          type: string
          format: uuid
          description: Cas al qual pertany l'informe.
    FiledReportTransaction:
      type: object
      description: >-
        Una transacció que no es pot suprimir perquè un informe regulador
        finalitzat la inclou.
      required:
        - uuid
        - transaction_id
        - reports
      properties:
        uuid:
          type: string
          format: uuid
          description: UUID de transacció de Didit.
        transaction_id:
          type: string
          description: >-
            L'identificador de la transacció proporcionat quan es va crear la
            transacció.
        reports:
          type: array
          items:
            $ref: '#/components/schemas/FiledRegulatoryReport'
          description: Informes finalitzats que inclouen aquesta transacció.
  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.