> ## 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 de verificación con EUDI Wallet

> Integra en tu aplicación la verificación de identidad con EUDI Wallet de Didit. Consulta la cobertura por país, los pasos, los resultados y los precios.

Inicia la verificación con EUDI Wallet desde tu backend usando la clave de API de tu aplicación.
No necesitas un workflow ni un `workflow_id`.
La respuesta de inicio describe la siguiente acción de autenticación; no es un resultado de identidad aprobado.

## Cobertura y activación

| Propiedad | Valor |
| - | - |
| Wallet | EUDI Wallet |
| ID de wallet | `eudi` |
| Países | ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/at.svg)Austria, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/be.svg)Bélgica, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/bg.svg)Bulgaria, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/hr.svg)Croacia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/cy.svg)Chipre, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/cz.svg)Chequia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/dk.svg)Dinamarca, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/ee.svg)Estonia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/fi.svg)Finlandia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/fr.svg)Francia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/de.svg)Alemania, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/gr.svg)Grecia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/hu.svg)Hungría, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/ie.svg)Irlanda, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/it.svg)Italia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/lv.svg)Letonia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/lt.svg)Lituania, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/lu.svg)Luxemburgo, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/mt.svg)Malta, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/nl.svg)Países Bajos, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/pl.svg)Polonia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/pt.svg)Portugal, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/ro.svg)Rumanía, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/sk.svg)Eslovaquia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/si.svg)Eslovenia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/es.svg)España, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/se.svg)Suecia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/is.svg)Islandia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/li.svg)Liechtenstein, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/no.svg)Noruega |
| Activación de la wallet en producción | ⏳ Próximamente |
| Precio publicado de la wallet | Próximamente |

La activación de la wallet es independiente del despliegue de la API y de la elegibilidad de tu aplicación.
Un endpoint documentado no activa una wallet marcada como Próximamente.
Para consultar las tarifas publicadas vigentes, consulta los [precios de las wallets de identidad digital](https://docs.didit.me/es/getting-started/pricing.md#precios-de-las-wallets-de-identidad-digital).

## Qué hace la persona

Sigue la siguiente acción devuelta por la solicitud de inicio.
La experiencia de autenticación de la wallet determina si la persona usa un navegador, otro dispositivo o una app.

## Recibir el resultado

Sigue la [guía de la API de wallets de identidad digital](https://docs.didit.me/es/standalone-apis/digital-id-wallets.md) para hacer el seguimiento de la verificación y obtener su resultado.
Considera solo un resultado finalizado y verificado como prueba de que la wallet autenticó a la persona.
Los atributos de identidad devueltos varían según la wallet; no des por hecho que estén presentes una dirección, un retrato o todos los atributos solicitados.

## Relacionado

* [API de wallets de identidad digital](https://docs.didit.me/es/standalone-apis/digital-id-wallets.md)
* [Cobertura y atributos de las wallets](https://docs.didit.me/es/core-technology/id-verification/digital-id-wallets.md)
* [Precios](https://docs.didit.me/es/getting-started/pricing.md#precios-de-las-wallets-de-identidad-digital)


## OpenAPI

````yaml es/openapi-25.json POST /v3/id-verification/wallets/eudi/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificación de identidad. Autentícate con el encabezado x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/id-verification/wallets/eudi/:
    post:
      tags:
        - Digital ID wallets
      summary: Iniciar verificación con EUDI Wallet
      description: >-
        Inicia un inicio de sesión con EUDI Wallet (el propio Estado miembro del
        usuario; el emisor varía según el país; AUT, BEL, BGR, HRV, CYP, CZE,
        DNK, EST, FIN, FRA, DEU, GRC, HUN, IRL, ITA, LVA, LTU, LUX, MLT, NLD,
        POL, PRT, ROU, SVK, SVN, ESP, SWE, ISL, LIE, NOR) sin ningún flujo de
        verificación (workflow). Se factura una sola vez y solo cuando se
        verifica la identidad. La respuesta incluye next_action.type=redirect
        con la URL a la que debes redirigir el navegador del usuario; el usuario
        vuelve a return_url con request_id y result añadidos. Consulta el
        resultado con GET
        /v3/id-verification/wallets/verifications/{request_id}/ o a través del
        webhook, nunca desde la URL. Las aplicaciones de sandbox reciben una
        simulación determinista (simulated: true) que nunca contacta con el
        proveedor.
      operationId: start_eudi_wallet_verification
      parameters:
        - in: header
          name: Idempotency-Key
          schema:
            type: string
          description: >-
            Clave opcional para reintentos seguros (máximo 255 caracteres).
            Reintentar con la misma clave, la misma wallet y el mismo cuerpo
            devuelve la verificación original sin iniciar un segundo inicio de
            sesión; la misma clave con otra wallet u otro cuerpo devuelve 409
            idempotency_key_reused.
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/DigitalIdWalletApiEudiWalletVerificationStartRequest
            example:
              country: AUT
              vendor_data: your-customer-reference
              metadata:
                reference: example
              return_url: https://app.example.com/identity/complete
          application/x-www-form-urlencoded:
            schema:
              $ref: >-
                #/components/schemas/DigitalIdWalletApiEudiWalletVerificationStartRequest
          multipart/form-data:
            schema:
              $ref: >-
                #/components/schemas/DigitalIdWalletApiEudiWalletVerificationStartRequest
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DigitalIdWalletApiWalletVerificationResponse
              example:
                request_id: 00000000-0000-4000-8000-000000000001
                wallet_verification:
                  wallet:
                    id: eudi
                    name: EUDI Wallet
                    issuing_authority: >-
                      The user's own member state; the issuer differs per
                      country
                  country: AUT
                  status: Not Finished
                  outcome: pending
                  error: null
                  interaction: redirect
                  simulated: false
                  expires_at: '2026-01-01T10:10:00Z'
                  next_action:
                    type: redirect
                    url: https://wallet.example.com/authorize
                  identity: null
                  attributes: null
                  level_of_assurance: null
                  verified_at: null
                  signature_valid: null
                  credential_type: person_identification
                vendor_data: your-customer-reference
                metadata:
                  reference: example
                created_at: '2026-01-01T10:00:00Z'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DigitalIdWalletApiWalletVerificationStartBadRequest
          description: >-
            Errores de validación de campos ({field: [messages]}), o el error
            return_url_invalid, return_url_not_allowed, invalid_personal_code,
            invalid_phone_number o idempotency_key_invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DigitalIdWalletApiWalletVerificationStartForbidden
          description: >-
            Faltan las credenciales ({detail}), o error wallet_unavailable,
            insufficient_credits o contract_rate_missing.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            error idempotency_key_reused o idempotency_key_in_progress (con
            Retry-After).
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            error wallet_provider_unavailable: el proveedor no pudo iniciarse;
            no se creó nada.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            error wallet_not_configured: este entorno no puede comunicarse con
            la wallet.
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request POST \
              --url https://verification.didit.me/v3/id-verification/wallets/eudi/ \
              --header 'x-api-key: YOUR_API_KEY' \
              --header 'Idempotency-Key: your-unique-attempt-key' \
              --header 'Content-Type: application/json' \
              --data '{
              "country": "AUT",
              "vendor_data": "your-customer-reference",
              "metadata": {
                "reference": "example"
              },
              "return_url": "https://app.example.com/identity/complete"
            }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.id_wallets.start_eudi(
                vendor_data="your-customer-reference",
                metadata={"reference": "example"},
                country="AUT",
                return_url="https://app.example.com/identity/complete",
            )
            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.idWallets.startEudi({
              vendor_data: "your-customer-reference",
              metadata: { reference: "example" },
              country: "AUT",
              return_url: "https://app.example.com/identity/complete",
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.IDWallets.StartEudi(ctx, didit.IDWalletsStartEudiParams{\n\tBody: didit.DigitalIDWalletAPIEudiWalletVerificationStartRequest{\n\t\tVendorData: didit.String(\"your-customer-reference\"),\n\t\tMetadata:   didit.Some(map[string]any{\"reference\": \"example\"}),\n\t\tCountry:    didit.DigitalIDWalletAPIEudiWalletVerificationStartCountryEnum(\"AUT\"),\n\t\tReturnURL:  \"https://app.example.com/identity/complete\",\n\t},\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.Map;

            import me.didit.Didit;

            import
            me.didit.types.DigitalIdWalletApiEudiWalletVerificationStartCountryEnum;

            import
            me.didit.types.DigitalIdWalletApiEudiWalletVerificationStartRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.idWallets().startEudi(DigitalIdWalletApiEudiWalletVerificationStartRequest.builder()
                    .vendorData("your-customer-reference")
                    .metadata(Map.of("reference", "example"))
                    .country(DigitalIdWalletApiEudiWalletVerificationStartCountryEnum.of("AUT"))
                    .returnUrl("https://app.example.com/identity/complete")
                    .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->idWallets->startEudi([
                'vendor_data' => 'your-customer-reference',
                'metadata' => ['reference' => 'example'],
                'country' => 'AUT',
                'return_url' => 'https://app.example.com/identity/complete',
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.id_wallets.start_eudi(
              vendor_data: "your-customer-reference",
              metadata: { reference: "example" },
              country: "AUT",
              return_url: "https://app.example.com/identity/complete"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Collections.Generic;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.IdWallets.StartEudiAsync(new
            DigitalIdWalletApiEudiWalletVerificationStartRequest

            {
                VendorData = "your-customer-reference",
                Metadata = new Dictionary<string, object> { ["reference"] = "example" },
                Country = "AUT",
                ReturnUrl = "https://app.example.com/identity/complete",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    DigitalIdWalletApiEudiWalletVerificationStartRequest:
      type: object
      description: >-
        Inicia una verificación con EUDI Wallet (AUT, BEL, BGR, HRV, CYP, CZE,
        DNK, EST, FIN, FRA, DEU, GRC, HUN, IRL, ITA, LVA, LTU, LUX, MLT, NLD,
        POL, PRT, ROU, SVK, SVN, ESP, SWE, ISL, LIE, NOR).
      properties:
        vendor_data:
          type: string
          nullable: true
          description: >-
            Tu propia referencia para esta verificación (p. ej., tu id de
            usuario). Se devuelve en los resultados y en los webhooks.
        metadata:
          type: object
          additionalProperties: {}
          nullable: true
          description: >-
            Objeto JSON opcional que se almacena con la verificación y se
            devuelve en los resultados y los webhooks.
        sandbox_scenario:
          type: string
          minLength: 1
          description: >-
            Solo aplicaciones sandbox: el resultado simulado,
            'wallet_cancelled', 'wallet_timeout' o 'wallet_provider_error'; con
            cualquier otro escenario (o ninguno) se verifica. Se rechaza en
            aplicaciones en producción. El catálogo completo está disponible en
            GET /v1/sandbox/scenarios/.
        country:
          allOf:
            - $ref: >-
                #/components/schemas/DigitalIdWalletApiEudiWalletVerificationStartCountryEnum
          description: |-
            País ISO 3166-1 alpha-3 de la identidad EUDI Wallet.

            * `AUT` - AUT
            * `BEL` - BEL
            * `BGR` - BGR
            * `HRV` - HRV
            * `CYP` - CYP
            * `CZE` - CZE
            * `DNK` - DNK
            * `EST` - EST
            * `FIN` - FIN
            * `FRA` - FRA
            * `DEU` - DEU
            * `GRC` - GRC
            * `HUN` - HUN
            * `IRL` - IRL
            * `ITA` - ITA
            * `LVA` - LVA
            * `LTU` - LTU
            * `LUX` - LUX
            * `MLT` - MLT
            * `NLD` - NLD
            * `POL` - POL
            * `PRT` - PRT
            * `ROU` - ROU
            * `SVK` - SVK
            * `SVN` - SVN
            * `ESP` - ESP
            * `SWE` - SWE
            * `ISL` - ISL
            * `LIE` - LIE
            * `NOR` - NOR
        return_url:
          type: string
          format: uri
          minLength: 1
          description: >-
            URL https a la que vuelve el navegador del usuario después de la
            wallet, con request_id y result añadidos. Su host debe estar
            registrado en allowed_return_hosts de la aplicación (o ser su
            dominio de marca blanca). Nunca confíes solo en result: consulta el
            resultado con GET .../verifications/{request_id}/ o con el webhook.
          maxLength: 2048
        device:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiDeviceEnum'
          default: same_device
          description: >-
            same_device cuando el usuario inicia sesión en el dispositivo que
            muestra tu página, cross_device cuando usa otro (p. ej., el código
            QR de BankID).


            * `same_device` - same_device

            * `cross_device` - cross_device
      required:
        - country
        - return_url
    DigitalIdWalletApiWalletVerificationResponse:
      type: object
      description: >-
        Una verificación de wallet independiente, tal como la devuelve cada
        endpoint de wallets.
      properties:
        request_id:
          type: string
          format: uuid
        wallet_verification:
          $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationResult'
        vendor_data:
          type: string
          nullable: true
        metadata:
          type: object
          additionalProperties: {}
          nullable: true
          description: El objeto de metadatos enviado al inicio, o null.
        created_at:
          type: string
          format: date-time
      required:
        - created_at
        - metadata
        - request_id
        - vendor_data
        - wallet_verification
    DigitalIdWalletApiWalletVerificationStartBadRequest:
      oneOf:
        - $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
        - $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationFieldErrors'
    DigitalIdWalletApiWalletVerificationStartForbidden:
      oneOf:
        - $ref: >-
            #/components/schemas/DigitalIdWalletApiClientCredentialsForbiddenErrorMessage
        - $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
    DigitalIdWalletApiWalletVerificationError:
      type: object
      properties:
        error:
          type: string
          description: Código estable legible por máquina, p. ej., wallet_unavailable.
        detail:
          type: string
      required:
        - detail
        - error
    DigitalIdWalletApiEudiWalletVerificationStartCountryEnum:
      enum:
        - AUT
        - BEL
        - BGR
        - HRV
        - CYP
        - CZE
        - DNK
        - EST
        - FIN
        - FRA
        - DEU
        - GRC
        - HUN
        - IRL
        - ITA
        - LVA
        - LTU
        - LUX
        - MLT
        - NLD
        - POL
        - PRT
        - ROU
        - SVK
        - SVN
        - ESP
        - SWE
        - ISL
        - LIE
        - NOR
      type: string
      description: |-
        * `AUT` - AUT
        * `BEL` - BEL
        * `BGR` - BGR
        * `HRV` - HRV
        * `CYP` - CYP
        * `CZE` - CZE
        * `DNK` - DNK
        * `EST` - EST
        * `FIN` - FIN
        * `FRA` - FRA
        * `DEU` - DEU
        * `GRC` - GRC
        * `HUN` - HUN
        * `IRL` - IRL
        * `ITA` - ITA
        * `LVA` - LVA
        * `LTU` - LTU
        * `LUX` - LUX
        * `MLT` - MLT
        * `NLD` - NLD
        * `POL` - POL
        * `PRT` - PRT
        * `ROU` - ROU
        * `SVK` - SVK
        * `SVN` - SVN
        * `ESP` - ESP
        * `SWE` - SWE
        * `ISL` - ISL
        * `LIE` - LIE
        * `NOR` - NOR
    DigitalIdWalletApiDeviceEnum:
      enum:
        - same_device
        - cross_device
      type: string
      description: |-
        * `same_device` - same_device
        * `cross_device` - cross_device
    DigitalIdWalletApiWalletVerificationResult:
      type: object
      properties:
        wallet:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiWallet'
          readOnly: true
        country:
          type: string
        status:
          type: string
          description: >-
            Not Finished mientras está pendiente; después, Approved (verificado)
            o Declined.
        outcome:
          $ref: >-
            #/components/schemas/DigitalIdWalletApiWalletVerificationResultOutcomeEnum
        error:
          type: string
          nullable: true
          readOnly: true
        interaction:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiInteractionEnum'
          readOnly: true
        simulated:
          type: boolean
          readOnly: true
        expires_at:
          type: string
          format: date-time
        next_action:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiWalletNextAction'
          nullable: true
          readOnly: true
        identity:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiWalletIdentity'
          nullable: true
          readOnly: true
        attributes:
          type: object
          additionalProperties: {}
          nullable: true
          readOnly: true
        level_of_assurance:
          type: string
          nullable: true
        verified_at:
          type: string
          format: date-time
          nullable: true
        signature_valid:
          type: boolean
          nullable: true
          description: >-
            True una vez verificada la firma de la credencial; null para una
            simulada.
        credential_type:
          type: string
          nullable: true
      required:
        - attributes
        - country
        - credential_type
        - error
        - expires_at
        - identity
        - interaction
        - level_of_assurance
        - next_action
        - outcome
        - signature_valid
        - simulated
        - status
        - verified_at
        - wallet
    DigitalIdWalletApiWalletVerificationFieldErrors:
      type: object
      description: >-
        Errores de validación de la solicitud: cada campo rechazado con sus
        mensajes.
      additionalProperties:
        type: array
        items:
          type: string
    DigitalIdWalletApiClientCredentialsForbiddenErrorMessage:
      type: object
      properties:
        detail:
          type: string
          default: Forbidden - User doesn't have permission
    DigitalIdWalletApiWallet:
      type: object
      properties:
        id:
          type: string
          description: Id de catálogo de la wallet, p. ej., bankid_se.
        name:
          type: string
        issuing_authority:
          type: string
          nullable: true
      required:
        - id
        - issuing_authority
        - name
    DigitalIdWalletApiWalletVerificationResultOutcomeEnum:
      enum:
        - pending
        - verified
        - cancelled
        - timeout
        - failed
      type: string
      description: |-
        * `pending` - Pendiente
        * `verified` - Verificado
        * `cancelled` - Cancelado por el usuario
        * `timeout` - Tiempo de espera agotado
        * `failed` - Fallido
    DigitalIdWalletApiInteractionEnum:
      enum:
        - redirect
        - in_app
        - digital_credentials
      type: string
      description: |-
        * `redirect` - redirect
        * `in_app` - in_app
        * `digital_credentials` - digital_credentials
    DigitalIdWalletApiWalletNextAction:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiWalletNextActionTypeEnum'
          description: >-
            redirect: envía el navegador del usuario a url. confirm_in_app:
            muestra verification_code al usuario, que comprueba que coincide con
            el código de su app de wallet y confirma allí; después, consulta
            periódicamente el estado. request_digital_credential: en un gesto
            del usuario en el origen con el que empezaste, solicita la
            credencial a la wallet con digital_credentials.request y envía lo
            que devuelva a POST .../verifications/{request_id}/response/.


            * `redirect` - redirect

            * `confirm_in_app` - confirm_in_app

            * `request_digital_credential` - request_digital_credential
        url:
          type: string
          format: uri
          description: 'Solo redirect: dónde inicia sesión el usuario con la wallet.'
        digital_credentials:
          allOf:
            - $ref: >-
                #/components/schemas/DigitalIdWalletApiWalletDigitalCredentialsRequest
          description: >-
            Solo request_digital_credential: la solicitud que se debe entregar a
            la wallet.
        verification_code:
          type: string
          description: >-
            Solo confirm_in_app: el código de comparación de 4 dígitos que
            también muestra la app de la wallet.
        poll_interval_seconds:
          type: integer
          description: >-
            Solo confirm_in_app: con qué frecuencia llamar a POST
            .../verifications/{request_id}/poll/ para obtener una respuesta
            rápida. Didit también consulta en segundo plano los inicios de
            sesión pendientes, así que el webhook informa del resultado aunque
            no hagas consultas.
      required:
        - type
    DigitalIdWalletApiWalletIdentity:
      type: object
      properties:
        full_name:
          type: string
          nullable: true
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        date_of_birth:
          type: string
          format: date
          nullable: true
        nationality:
          type: string
          nullable: true
          description: >-
            Nacionalidad ISO3, solo cuando la wallet la declara (nunca se
            infiere).
        issuing_state:
          type: string
          description: País ISO3 cuyo esquema emitió la identidad.
      required:
        - date_of_birth
        - first_name
        - full_name
        - issuing_state
        - last_name
        - nationality
    DigitalIdWalletApiWalletNextActionTypeEnum:
      enum:
        - redirect
        - confirm_in_app
        - request_digital_credential
      type: string
      description: |-
        * `redirect` - redirect
        * `confirm_in_app` - confirm_in_app
        * `request_digital_credential` - request_digital_credential
    DigitalIdWalletApiWalletDigitalCredentialsRequest:
      type: object
      properties:
        protocol:
          type: string
          description: openid4vp-v1-signed.
        request:
          type: object
          additionalProperties: {}
          description: >-
            Pásalo tal cual: navigator.credentials.get({digital: request}) en el
            navegador, o JSON.stringify(request) como requestJson de
            GetDigitalCredentialOption en Android. Firmado por Didit para tu
            aplicación.
      required:
        - protocol
        - request
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clave de API de tu aplicación, que encontrarás en Developers -> API
        keys en la Business Console. La clave principal tiene acceso completo.
        Una clave con nombre puede tener un alcance limitado: ninguno, lectura o
        escritura por recurso, limitada a algunos flujos o a sesiones aprobadas,
        a una lista de direcciones IP y a una fecha de caducidad. 401 significa
        que la clave es incorrecta, se revocó o expiró; 403 significa que no se
        envió ninguna clave, que la clave no tiene acceso a este recurso o
        acción, o que la solicitud provino de una dirección fuera de su lista de
        IP; 404 en una ruta de sesión significa que la sesión está fuera de los
        flujos o estados de la clave. Una clave sin acceso a contenido
        multimedia recibe las URL de imágenes, videos y PDF como null, y una
        clave sin permiso de escritura en sesiones recibe los enlaces y tokens
        de sesión como null. Consulta https://docs.didit.me/console/api-keys.
    BearerAuth:
      type: http
      scheme: bearer
      description: El token de acceso de credenciales de cliente de la aplicación.

````

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