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

# Previsualitzar el correu electrònic de reenviament

> Revisa el destinatari, el remitent, el missatge localitzat i l'enllaç de verificació de Didit abans de sol·licitar el reenviament.

La previsualització no canvia la sessió ni envia cap correu electrònic.
Després de revisar la resposta, confirma amb [Actualitza l'estat de la sessió](https://docs.didit.me/ca/sessions-api/update-status.md) i passa el `preview_token` retornat com a `email_preview_token`.
El comprovant caduca al cap de 15 minuts.
Un comprovant modificat o caducat retorna `409` abans que la sessió es canviï o s'enviï cap correu electrònic.
Genera una nova previsualització després d'un conflicte.
Les integracions d'API existents poden ometre el comprovant; la consola el proporciona en confirmar una previsualització.

El remitent i la marca segueixen la teva [configuració de marca blanca](https://docs.didit.me/ca/console/white-label.md).
El contingut del missatge prové de la plantilla de verificació traduïda; no s'accepten com a entrades de la plantilla assumptes, cossos de missatge ni URL d'acció arbitraris.

## Qui rep el correu electrònic

`email_address` és opcional.
Sense aquest camp, el correu electrònic s'envia a l'adreça pròpia de la persona: la que va verificar en un pas de verificació de correu electrònic del flux o, si no, la que es va indicar a `contact_details` en crear la sessió.
Una adreça que passis a `email_address` té prioritat.

`recipient_source` indica quina adreça s'aplica:

| `recipient_source` | D'on prové `recipient` |
| - | - |
| `email_verification` | L'adreça que la persona va verificar en el flux |
| `contact_details` | L'adreça indicada a `contact_details` en crear la sessió |
| `request` | El `email_address` que has passat |
| `""` (buit) | No es coneix cap adreça: `recipient` i `preview_token` estan buits i no es pot enviar cap correu electrònic |

## Si el correu electrònic s'envia

`will_be_sent` és `true` quan confirmar la nova tramesa amb `send_email: true` envia el correu electrònic.
Quan és `false`, `not_sent_reason` indica el motiu:

| `not_sent_reason` | Què significa |
| - | - |
| `no_user_action` | Tots els passos seleccionats s'executen sense la persona (per exemple, AML o Validació en bases de dades), de manera que la nova tramesa es completa tota sola i no s'envia cap correu electrònic. `requires_user_action` també és `false`. |
| `no_recipient` | No es coneix cap adreça per a la persona i no n'has passat cap. |
| `sandbox` | La sessió és una sessió de sandbox i el destinatari no ha donat el seu consentiment per rebre correus electrònics en sandbox, de manera que el correu només se simula. Consulta [acceptació de correu electrònic](https://docs.didit.me/ca/integration/sandbox-testing.md#codis-otp-i-opció-d’activar-l’enviament-de-correus-electrònics). |

## Confirma la nova tramesa

Crida [Actualitza l'estat de la sessió](https://docs.didit.me/ca/sessions-api/update-status.md) amb aquests camps:

| Camp d'Actualitza l'estat de la sessió | Valor |
| - | - |
| `new_status` | `Resubmitted` |
| `nodes_to_resubmit` | La mateixa selecció que has previsualitzat (omet-lo si l'has omès aquí) |
| `send_email` | `true` |
| `email_address` | `recipient` de la previsualització |
| `email_language` | El mateix `email_language` que has enviat a la previsualització |
| `email_preview_token` | `preview_token` de la previsualització |

El `language` de la resposta és l'idioma en què s'escriu el correu electrònic: l'anglès quan l'idioma que has demanat no s'ofereix.

## Noves trameses repetides només de backend

Quan tots els passos a reenviar s'executen sense la persona (AML, Validació en bases de dades o Anàlisi d'IP), una sessió només es pot tornar a enviar en nom de la persona una vegada cada 30 segons.
Dins d'aquest interval, la previsualització retorna `429`, igual que ho faria Actualitza l'estat de la sessió, amb l'espera indicada a la capçalera `Retry-After`.

## Relacionats

* [Actualitza l'estat de la sessió](https://docs.didit.me/ca/sessions-api/update-status.md): confirma la nova tramesa.
* [Previsualitza el correu electrònic de decisió](https://docs.didit.me/ca/sessions-api/preview-decision-email.md): previsualitza el correu electrònic d'aprovació o de rebuig.
* [Marca blanca](https://docs.didit.me/ca/console/white-label.md): el remitent i la identitat de marca que s'utilitzen en el correu electrònic.


## OpenAPI

````yaml ca/openapi-25.json POST /v3/session/{sessionId}/resubmission-preview/
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/session/{sessionId}/resubmission-preview/:
    post:
      tags:
        - Sessions
      summary: Previsualitza un correu electrònic de nova presentació
      description: >-
        Genera una visualització prèvia del correu electrònic que acompanyaria
        una nova presentació de KYC o KYB sense modificar la sessió, restablir
        comprovacions, ampliar la seva caducitat, executar comprovacions ni
        enviar cap correu. Requereix el privilegi `write:sessions` (una clau
        d'API amb àmbit restringit necessita accés d'escriptura a decisions) i
        una sessió en estat `Approved`, `Declined`, `In Review`, `Kyc Expired` o
        `Abandoned`. El servidor valida els passos del flux de treball
        seleccionats i genera la seva plantilla traduïda fixa amb el remitent
        verificat i la marca blanca aplicables. La sol·licitud no pot definir
        cap assumpte, cos del missatge ni URL d'acció.


        `email_address` és opcional. Sense aquest paràmetre, el correu s'envia a
        l'adreça de la mateixa persona: la que hagi verificat en un pas de
        verificació de correu electrònic del flux, o bé la facilitada a
        `contact_details` en crear la sessió. L'adreça que indiquis té prioritat
        (`recipient_source: request`). Quan no es coneix cap adreça i no en
        proporciones cap, `recipient` i `preview_token` són cadenes buides i no
        es pot enviar cap correu.


        La resposta inclou el destinatari i el seu origen, el remitent,
        l'assumpte, l'HTML, l'idioma, els passos resolts, si confirmar l'acció
        envia el correu (`will_be_sent`, `not_sent_reason`) i un `preview_token`
        signat. `requires_user_action` és `false` quan tots els passos
        seleccionats s'executen sense intervenció de la persona: en aquest cas,
        la nova presentació finalitza pel seu compte i no s'envia cap correu
        (`not_sent_reason: no_user_action`).


        Aquesta visualització prèvia no reserva l'estat de la sessió ni
        autoritza el lliurament del correu. Després de revisar-la, crida [Update
        Session Status](/ca/sessions-api/update-status) amb `new_status:
        Resubmitted`, els mateixos `nodes_to_resubmit` i `email_language`
        previsualitzats, `send_email: true`, `email_address` establert a
        `recipient` i `email_preview_token` establert a `preview_token`. El
        resguard caduca al cap de 15 minuts. Quan es proporciona un resguard,
        qualsevol canvi en les dades d'entrada, el contingut del missatge, el
        remitent o l'estat de la sessió retorna `409` abans de qualsevol
        modificació o enviament. Les integracions existents poden ometre el
        resguard. Torna a generar la visualització prèvia després d'un
        conflicte. Tracta la resposta com a contingut de verificació
        confidencial; les respostes utilitzen `Cache-Control: no-store`.
        Renderitza l'HTML en un marc amb sandbox, mai directament al DOM de la
        teva aplicació.
      operationId: post_v3_session_resubmission_preview
      parameters:
        - in: path
          name: sessionId
          required: true
          description: >-
            UUID de la sessió de verificació que s'ha d'actualitzar. Accepta
            tant IDs de sessió d'usuari (KYC) com d'empresa (KYB); el servei
            resol l'ID entre tots dos tipus de sessió.
          schema:
            type: string
            format: uuid
            example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                nodes_to_resubmit:
                  type: array
                  description: >-
                    Passos que es previsualitzaran, amb la mateixa validació,
                    selecció i ordre del flux de treball que en un reenviament.
                    Omet per seleccionar automàticament els intents registrats
                    que necessiten reenviament.
                  items:
                    type: object
                    required:
                      - node_id
                      - feature
                    properties:
                      node_id:
                        type: string
                        description: >-
                          Identificador del node tal com apareix a la definició
                          del flux de treball de la sessió (per exemple
                          `feature_ocr`, `feature_liveness`).
                        example: feature_ocr
                      feature:
                        type: string
                        description: >-
                          Tipus de funcionalitat del node. Els àlies
                          `ID_VERIFICATION`, `POA`, `PHONE` i `EMAIL` es
                          normalitzen al servidor a `OCR`, `PROOF_OF_ADDRESS`,
                          `PHONE_VERIFICATION` i `EMAIL_VERIFICATION`.
                          `KYB_REGISTRY`, `KYB_KEY_PEOPLE` i `KYB` superen la
                          validació de l'esquema, però sempre es rebutgen amb
                          l'error de regla de negoci `400` mostrat als exemples.
                        enum:
                          - OCR
                          - OCR_BACK
                          - NFC
                          - AML
                          - FACE
                          - LIVENESS
                          - FACE_MATCH
                          - IP_ANALYSIS
                          - AGE_ESTIMATION
                          - PROOF_OF_ADDRESS
                          - PHONE_VERIFICATION
                          - EMAIL_VERIFICATION
                          - FACE_SEARCH
                          - DATABASE_VALIDATION
                          - QUESTIONNAIRE
                          - DOCUMENT_AI
                          - KYB_DOCUMENTS
                          - ID_VERIFICATION
                          - POA
                          - PHONE
                          - EMAIL
                          - KYB_REGISTRY
                          - KYB_KEY_PEOPLE
                          - KYB
                          - GEOLOCATION
                        example: OCR
                email_address:
                  type: string
                  format: email
                  description: >-
                    Opcional. Envia el correu electrònic a aquesta adreça en
                    comptes de la pròpia de la persona. Sense aquest camp, el
                    destinatari és l'adreça que la persona ha verificat al flux
                    o bé la indicada a `contact_details`. Aquesta crida no envia
                    cap correu electrònic.
                  example: user@example.com
                email_language:
                  type: string
                  description: >-
                    Idioma per al correu electrònic de notificació. Accepta
                    qualsevol cadena a nivell d'esquema; els codis no admesos
                    tornen silenciosament a l'anglès (`en`).
                  default: en
                  example: en
            examples:
              Person's Own Address:
                summary: >-
                  Previsualitza una nova presentació d'un comprovant de domicili
                  per a l'adreça de la mateixa persona
                value:
                  nodes_to_resubmit:
                    - node_id: feature_poa_1
                      feature: POA
                  email_language: en
              Named Recipient:
                summary: >-
                  Previsualitza el correu electrònic per a una adreça que
                  indiquis
                value:
                  nodes_to_resubmit:
                    - node_id: feature_ocr
                      feature: OCR
                  email_address: person@example.com
                  email_language: en
      responses:
        '200':
          description: >-
            Només previsualització. La sessió no canvia i no s'envia cap correu
            electrònic.
          content:
            application/json:
              schema:
                type: object
                required:
                  - recipient
                  - recipient_source
                  - sender
                  - sender_name
                  - sender_email
                  - sender_kind
                  - subject
                  - html
                  - text
                  - language
                  - will_be_sent
                  - not_sent_reason
                  - preview_token
                  - nodes_to_resubmit
                  - requires_user_action
                properties:
                  recipient:
                    type: string
                    description: >-
                      L'adreça a la qual s'envia el correu electrònic. Una
                      cadena buida quan no es coneix cap adreça per a la
                      persona: en aquest cas no es pot enviar cap correu
                      electrònic i `preview_token` també és buit. Envia-la com a
                      `email_address` en confirmar.
                    example: person@example.com
                  recipient_source:
                    type: string
                    enum:
                      - email_verification
                      - contact_details
                      - request
                      - ''
                    description: >-
                      D'on prové `recipient`. `request`: el `email_address` que
                      has proporcionat. `email_verification`: l'adreça que la
                      persona ha verificat en un pas de verificació de correu
                      electrònic del flux. `contact_details`: l'adreça indicada
                      a `contact_details` en crear la sessió. Una cadena buida
                      quan no hi ha cap adreça.
                    example: email_verification
                  sender:
                    type: string
                    description: La capçalera `From` amb què s'envia el correu electrònic.
                    example: Example App <no-reply@mail.example.com>
                  sender_name:
                    type: string
                    description: La part del nom visible de `sender`.
                    example: Example App
                  sender_email:
                    type: string
                    format: email
                    description: La part de l'adreça de `sender`.
                    example: no-reply@mail.example.com
                  sender_kind:
                    type: string
                    enum:
                      - customer
                      - didit
                    description: >-
                      `customer`: el correu electrònic s'envia des del domini de
                      remitent verificat de la teva aplicació (marca blanca).
                      `didit`: s'envia des del remitent propi de Didit.
                    example: customer
                  subject:
                    type: string
                    description: La línia de l'assumpte exactament tal com s'envia.
                    example: 'Action Required: Complete your verification in Example App'
                  html:
                    type: string
                    description: >-
                      L'HTML del correu electrònic exactament com s'envia, amb
                      el seu logotip incrustat com a URL de dades. Renderitza'l
                      en un frame aïllat (sandbox), mai directament al DOM de la
                      teva aplicació.
                    example: <!DOCTYPE html><html><body>...</body></html>
                  text:
                    type: string
                    description: >-
                      El text del correu electrònic com a text pla, tal com el
                      manté el fil de missatges de la persona, per a una
                      previsualització compacta (l'HTML continua sent el correu
                      electrònic que rep la persona).
                    example: |-
                      Almost there

                      Some steps need to be completed again.
                      Here’s what to fix:

                      https://verify.didit.me/session/abc123
                  language:
                    type: string
                    description: >-
                      L'idioma en què està escrit el correu electrònic. Anglès
                      (`en`) quan el `email_language` que has demanat no
                      s'ofereix.
                    example: en
                  will_be_sent:
                    type: boolean
                    description: >-
                      Indica si confirmar el canvi amb `send_email: true` envia
                      aquest correu electrònic. `false` quan s'ha definit
                      `not_sent_reason`.
                    example: true
                  not_sent_reason:
                    type: string
                    nullable: true
                    enum:
                      - no_user_action
                      - no_recipient
                      - sandbox
                      - null
                    description: >-
                      Per què en confirmar no s'enviaria cap correu electrònic,
                      o `null` quan s'enviarà. `no_user_action`: tots els passos
                      seleccionats s'executen sense la persona, de manera que el
                      reenviament acaba sol i no s'envia cap correu electrònic.
                      `no_recipient`: no es coneix cap adreça per a la persona i
                      no n'has indicat cap. `sandbox`: una sessió de sandbox el
                      destinatari de la qual no ha acceptat el lliurament de
                      correus electrònics en sandbox, per la qual cosa
                      l'enviament només es simula.
                    example: null
                  nodes_to_resubmit:
                    type: array
                    items:
                      type: object
                      required:
                        - node_id
                        - feature
                      properties:
                        node_id:
                          type: string
                          description: >-
                            Identificador del node tal com apareix a la
                            definició del flux de treball de la sessió (per
                            exemple `feature_ocr`, `feature_liveness`).
                          example: feature_ocr
                        feature:
                          type: string
                          description: >-
                            Tipus de funcionalitat del node. Els àlies
                            `ID_VERIFICATION`, `POA`, `PHONE` i `EMAIL` es
                            normalitzen al servidor a `OCR`, `PROOF_OF_ADDRESS`,
                            `PHONE_VERIFICATION` i `EMAIL_VERIFICATION`.
                            `KYB_REGISTRY`, `KYB_KEY_PEOPLE` i `KYB` superen la
                            validació de l'esquema, però sempre es rebutgen amb
                            l'error de regla de negoci `400` mostrat als
                            exemples.
                          enum:
                            - OCR
                            - OCR_BACK
                            - NFC
                            - AML
                            - FACE
                            - LIVENESS
                            - FACE_MATCH
                            - IP_ANALYSIS
                            - AGE_ESTIMATION
                            - PROOF_OF_ADDRESS
                            - PHONE_VERIFICATION
                            - EMAIL_VERIFICATION
                            - FACE_SEARCH
                            - DATABASE_VALIDATION
                            - QUESTIONNAIRE
                            - DOCUMENT_AI
                            - KYB_DOCUMENTS
                            - ID_VERIFICATION
                            - POA
                            - PHONE
                            - EMAIL
                            - KYB_REGISTRY
                            - KYB_KEY_PEOPLE
                            - KYB
                            - GEOLOCATION
                          example: OCR
                  requires_user_action:
                    type: boolean
                    description: >-
                      Indica si com a mínim una comprovació seleccionada
                      requereix interacció de l'usuari. Això no prediu el
                      resultat final del flux de treball.
                  preview_token:
                    type: string
                    description: >-
                      Justificant signat per a aquesta adreça electrònica
                      exacta, vàlid durant 15 minuts. Passa'l com a
                      `email_preview_token` a [Actualitzar l'estat de la
                      sessió](/ca/sessions-api/update-status). Una cadena buida
                      quan no hi ha destinatari.
                    example: >-
                      eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000
              examples:
                Will Be Sent:
                  summary: 'Destinatari per defecte: l''adreça verificada al flux'
                  value:
                    recipient: person@example.com
                    recipient_source: email_verification
                    sender: Example App <no-reply@mail.example.com>
                    sender_name: Example App
                    sender_email: no-reply@mail.example.com
                    sender_kind: customer
                    subject: 'Action Required: Complete your verification in Example App'
                    html: <!DOCTYPE html><html><body>...</body></html>
                    language: en
                    will_be_sent: true
                    not_sent_reason: null
                    nodes_to_resubmit:
                      - node_id: feature_poa_1
                        feature: PROOF_OF_ADDRESS
                    requires_user_action: true
                    preview_token: >-
                      eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000
                No User Action:
                  summary: >-
                    Només se seleccionen passos del servidor, de manera que no
                    s'envia cap correu electrònic
                  value:
                    recipient: person@example.com
                    recipient_source: contact_details
                    sender: Example App <no-reply@mail.example.com>
                    sender_name: Example App
                    sender_email: no-reply@mail.example.com
                    sender_kind: customer
                    subject: 'Action Required: Complete your verification in Example App'
                    html: <!DOCTYPE html><html><body>...</body></html>
                    language: en
                    will_be_sent: false
                    not_sent_reason: no_user_action
                    nodes_to_resubmit:
                      - node_id: feature_aml
                        feature: AML
                    requires_user_action: false
                    preview_token: >-
                      eyJkaWdlc3QiOiI0ZjJhIn0:1uExAm:Pl3x4mpleS1gnatureValue000000000000000
          headers:
            Cache-Control:
              description: >-
                Sempre `no-store`: la previsualització conté contingut de
                verificació i no s'ha d'emmagatzemar a la memòria cau.
              schema:
                type: string
                example: no-store
        '400':
          description: >-
            La sessió no es troba en un estat que aquest endpoint accepti, ja
            està en `Resubmitted`, els passos seleccionats no es poden reenviar
            o un camp no és vàlid.
          content:
            application/json:
              examples:
                Wrong Current Status:
                  summary: >-
                    La sessió no es troba en un estat que aquest endpoint
                    accepti
                  value:
                    detail: >-
                      Only sessions with status Approved, Declined, In Review,
                      Kyc Expired, Abandoned, Resubmitted can be updated.
                      Current status: In Progress
                Already Resubmitted:
                  summary: La sessió ja està en estat Resubmitted
                  value:
                    - The new status is the same as the current status.
                Nothing To Resubmit:
                  summary: >-
                    La selecció automàtica no ha trobat cap pas que requereixi
                    reenviament
                  value:
                    nodes_to_resubmit: >-
                      No features found that need resubmission. All features are
                      already approved.
                Invalid Email:
                  summary: email_address no és una adreça de correu electrònic
                  value:
                    email_address:
                      - Enter a valid email address.
        '401':
          description: La clau d'API amb abast ha caducat.
          content:
            application/json:
              examples:
                Expired API Key:
                  summary: Clau d'API amb abast que ha superat la data de caducitat
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Falten les credencials, qui fa la crida no té el privilegi
            `write:sessions`, la clau d'API amb abast limitat no té l'accés que
            necessita aquest endpoint, o el `session_id` pertany a una altra
            aplicació.
          content:
            application/json:
              examples:
                Invalid Credentials:
                  summary: Falta l'x-api-key o no és vàlid
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Missing Privilege:
                  summary: L'emissor de la crida no disposa de write:sessions
                  value:
                    detail: You do not have permission to perform this action.
                Scoped Key Without Access:
                  summary: Clau d'API amb abast sense aquest accés
                  value:
                    detail: This API key has no write access to decisions.
        '404':
          description: No existeix cap sessió de KYC o KYB amb aquest `session_id`.
          content:
            application/json:
              examples:
                Not Found:
                  summary: session_id desconegut
                  value:
                    detail: Not found.
        '429':
          description: >-
            Els passos que s'han de reenviar són tots passos que només es
            processen al servidor (AML, DATABASE_VALIDATION, IP_ANALYSIS), i la
            sessió ja s'ha reenviat per a passos que només es processen al
            servidor durant els darrers 30 segons, de manera que Update Session
            Status rebutjaria el reenviament. Reintenta-ho després de l'interval
            a `Retry-After`.
          content:
            application/json:
              examples:
                Backend-only resubmit throttled:
                  value:
                    detail: >-
                      This session was already resubmitted for backend-only
                      features within the last 30 seconds; repeating it cannot
                      change the outcome. Wait before resubmitting again.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.preview_resubmission(
                "11111111-2222-3333-4444-555555555555",
                nodes_to_resubmit=[{
                    "node_id": "feature_poa_1",
                    "feature": "POA",
                }],
                email_language="en",
            )
            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.sessions.previewResubmission("11111111-2222-3333-4444-555555555555",
            {
              nodes_to_resubmit: [{
                node_id: "feature_poa_1",
                feature: "POA",
              }],
              email_language: "en",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.PreviewResubmission(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SessionsPreviewResubmissionParams{\n\tNodesToResubmit: didit.Some([]didit.SessionsPreviewResubmissionParamsNodesToResubmit{{\n\t\tNodeID:  \"feature_poa_1\",\n\t\tFeature: \"POA\",\n\t}}),\n\tEmailLanguage: didit.String(\"en\"),\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.SessionsPreviewResubmissionParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().previewResubmission("11111111-2222-3333-4444-555555555555",
            SessionsPreviewResubmissionParams.builder()
                    .nodesToResubmit(List.of(SessionsPreviewResubmissionParams.NodesToResubmit.builder()
                            .nodeId("feature_poa_1")
                            .feature(SessionsPreviewResubmissionParams.NodesToResubmit.Feature.of("POA"))
                            .build()))
                    .emailLanguage("en")
                    .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->sessions->previewResubmission('11111111-2222-3333-4444-555555555555',
            [
                'nodes_to_resubmit' => [[
                    'node_id' => 'feature_poa_1',
                    'feature' => 'POA',
                ]],
                'email_language' => 'en',
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.sessions.preview_resubmission(
              "11111111-2222-3333-4444-555555555555",
              nodes_to_resubmit: [{
                node_id: "feature_poa_1",
                feature: "POA",
              }],
              email_language: "en"
            )
            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.Sessions.PreviewResubmissionAsync("11111111-2222-3333-4444-555555555555",
            new SessionsPreviewResubmissionParams

            {
                NodesToResubmit = new SessionsPreviewResubmissionParamsNodesToResubmit[]
                {
                    new()
                    {
                        NodeId = "feature_poa_1",
                        Feature = "POA",
                    },
                },
                EmailLanguage = "en",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  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.