> ## 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 Verificação da Carteira EUDI

> Integre a verificação de identidade da Carteira EUDI com a Didit. Veja cobertura por país, passos de autenticação, resultados e preços.

Inicie a verificação com a Carteira EUDI a partir do seu backend, utilizando a chave de API da sua aplicação.
Não precisa de um fluxo nem de um `workflow_id`.
A resposta ao início descreve a próxima ação de autenticação; não é um resultado de identidade aprovado.

## Cobertura e ativação

| Propriedade | Valor |
| - | - |
| Carteira | Carteira EUDI |
| ID da carteira | `eudi` |
| Países | ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/at.svg)Áustria, ![](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)Bulgária, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/hr.svg)Croácia, ![](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)Chéquia, ![](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)Estónia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/fi.svg)Finlândia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/fr.svg)França, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/de.svg)Alemanha, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/gr.svg)Grécia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/hu.svg)Hungria, ![](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)Itália, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/lv.svg)Letónia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/lt.svg)Lituânia, ![](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 Baixos, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/pl.svg)Polónia, ![](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)Roménia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/sk.svg)Eslováquia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/si.svg)Eslovénia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/es.svg)Espanha, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/se.svg)Suécia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/is.svg)Islândia, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/li.svg)Listenstaine, ![](https://didit-public-assets.s3.eu-west-1.amazonaws.com/flags/no.svg)Noruega |
| Ativação da carteira em produção | ⏳ Em breve |
| Preço publicado da carteira | Em breve |

A ativação da carteira é independente da disponibilização da API e da elegibilidade da sua aplicação.
Um endpoint documentado não ativa uma carteira marcada como Em breve.
Para consultar as tarifas publicadas atuais, veja [preços das carteiras de identidade digital](https://docs.didit.me/pt/getting-started/pricing.md#preços-de-carteiras-de-identidade-digital).

## O que a pessoa faz

Siga a próxima ação devolvida pelo pedido de início.
A experiência de autenticação da carteira determina se a pessoa usa um navegador, outro dispositivo ou uma aplicação.

## Receber o resultado

Siga o [guia da API de carteiras de identidade digital](https://docs.didit.me/pt/standalone-apis/digital-id-wallets.md) para acompanhar a verificação e obter o respetivo resultado.
Considere apenas um resultado concluído e verificado como prova de que a carteira autenticou a pessoa.
Os atributos de identidade devolvidos variam consoante a carteira; não presuma que estejam presentes uma morada, um retrato ou todos os atributos pedidos.

## Relacionados

* [APIs de carteiras de identidade digital](https://docs.didit.me/pt/standalone-apis/digital-id-wallets.md)
* [Cobertura e atributos das carteiras](https://docs.didit.me/pt/core-technology/id-verification/digital-id-wallets.md)
* [Preços](https://docs.didit.me/pt/getting-started/pricing.md#preços-de-carteiras-de-identidade-digital)


## OpenAPI

````yaml pt/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 Verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/id-verification/wallets/eudi/:
    post:
      tags:
        - Digital ID wallets
      summary: Iniciar verificação EUDI Wallet
      description: >-
        Inicie uma sessão com EUDI Wallet (o próprio Estado-Membro do
        utilizador; o emissor varia consoante o 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) sem qualquer
        fluxo. É faturado uma vez, apenas quando a identidade é verificada. A
        resposta inclui next_action.type=redirect com o URL para onde enviar o
        navegador do utilizador; o utilizador regressa a return_url com
        request_id e result anexados. Leia o resultado com GET
        /v3/id-verification/wallets/verifications/{request_id}/ ou a partir do
        webhook, nunca a partir do URL. As aplicações em sandbox obtêm uma
        simulação determinística (simulated: true) que nunca contacta o
        fornecedor.
      operationId: start_eudi_wallet_verification
      parameters:
        - in: header
          name: Idempotency-Key
          schema:
            type: string
          description: >-
            Chave opcional de segurança contra tentativas repetidas (máx. 255
            caracteres). Tentar novamente com a mesma chave, carteira e corpo
            devolve a verificação original sem iniciar sessão uma segunda vez; a
            mesma chave com outra carteira ou corpo devolve 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: >-
            Erros de validação de campos ({field: [messages]}), ou erro
            return_url_invalid, return_url_not_allowed, invalid_personal_code,
            invalid_phone_number ou idempotency_key_invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DigitalIdWalletApiWalletVerificationStartForbidden
          description: >-
            Credenciais em falta ({detail}), ou erro wallet_unavailable,
            insufficient_credits ou contract_rate_missing.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            erro idempotency_key_reused ou idempotency_key_in_progress (com
            Retry-After).
        '502':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            erro wallet_provider_unavailable: o fornecedor não conseguiu
            iniciar; nada foi criado.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            erro wallet_not_configured: este ambiente não consegue aceder à
            carteira.
      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: >-
        Inicie uma verificação 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: >-
            A sua própria referência para esta verificação (ex.: o seu ID de
            utilizador). Devolvida nos resultados e webhooks.
        metadata:
          type: object
          additionalProperties: {}
          nullable: true
          description: >-
            Objeto JSON opcional armazenado com a verificação e devolvido nos
            resultados e webhooks.
        sandbox_scenario:
          type: string
          minLength: 1
          description: >-
            Apenas aplicações em sandbox: o resultado simulado -
            'wallet_cancelled', 'wallet_timeout' ou 'wallet_provider_error';
            qualquer outro cenário (ou a ausência de cenário) resulta numa
            verificação bem-sucedida. Rejeitado em aplicações em produção. O
            catálogo completo está disponível em GET /v1/sandbox/scenarios/.
        country:
          allOf:
            - $ref: >-
                #/components/schemas/DigitalIdWalletApiEudiWalletVerificationStartCountryEnum
          description: |-
            País ISO 3166-1 alfa-3 da identidade 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 para o qual o navegador do utilizador regressa após a
            carteira, com request_id e result anexados. O seu anfitrião tem de
            estar registado nos allowed_return_hosts da aplicação (ou ser o seu
            domínio de marca branca). Nunca confie em result por si só: leia o
            resultado com GET .../verifications/{request_id}/ ou o webhook.
          maxLength: 2048
        device:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiDeviceEnum'
          default: same_device
          description: >-
            same_device quando o utilizador inicia sessão no dispositivo que
            mostra a sua página, cross_device quando utiliza outro (por exemplo,
            o código QR do BankID).


            * `same_device` - same_device

            * `cross_device` - cross_device
      required:
        - country
        - return_url
    DigitalIdWalletApiWalletVerificationResponse:
      type: object
      description: >-
        Uma verificação de carteira autónoma, tal como é devolvida por todos os
        endpoints de carteira.
      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: O objeto de metadados enviado no início, ou nulo.
        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 legível por máquina estável, por exemplo, 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: >-
            Não terminada enquanto pendente, depois Aprovada (verificada) ou
            Recusada.
        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 após a assinatura da credencial ter sido verificada; null para
            uma credencial 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: >-
        Erros de validação do pedido: cada campo rejeitado com as respetivas
        mensagens.
      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 da carteira, por ex. 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` - Pendente
        * `verified` - Verificado
        * `cancelled` - Cancelado pelo utilizador
        * `timeout` - Tempo limite excedido
        * `failed` - Falhou
    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: envie o navegador do utilizador para url. confirm_in_app:
            mostre verification_code ao utilizador, que verifica se coincide com
            o código na respetiva aplicação de carteira e confirma aí; depois,
            faça polling. request_digital_credential: num gesto do utilizador na
            origem em que iniciou o processo, solicite à carteira com
            digital_credentials.request e, em seguida, envie o que ela devolver
            para 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: 'apenas redirect: onde o utilizador inicia sessão com a carteira.'
        digital_credentials:
          allOf:
            - $ref: >-
                #/components/schemas/DigitalIdWalletApiWalletDigitalCredentialsRequest
          description: 'apenas request_digital_credential: o pedido a entregar à carteira.'
        verification_code:
          type: string
          description: >-
            Apenas confirm_in_app: o código de comparação de 4 dígitos que a
            aplicação de carteira também apresenta.
        poll_interval_seconds:
          type: integer
          description: >-
            Apenas confirm_in_app: com que frequência chamar POST
            .../verifications/{request_id}/poll/ para obter feedback imediato. O
            Didit também consulta inícios de sessão pendentes em segundo plano,
            pelo que o webhook comunica o resultado mesmo que não efetue
            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: >-
            Nacionalidade ISO3, apenas quando a carteira afirmar uma (nunca
            deduzida).
        issuing_state:
          type: string
          description: País ISO3 cujo esquema emitiu a identidade.
      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: >-
            Passe tal como está: navigator.credentials.get({digital: request})
            no navegador, ou JSON.stringify(request) como requestJson de
            GetDigitalCredentialOption no Android. Assinado pela Didit para a
            sua aplicação.
      required:
        - protocol
        - request
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        A chave de API da sua aplicação, a partir de Programadores -> Chaves de
        API na Business Console. A chave principal tem acesso total. Uma chave
        nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por
        recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de
        endereços IP e a uma data de validade. 401 significa que a chave está
        incorreta, revogada ou expirada; 403 significa que nenhuma chave foi
        enviada, que a chave não tem acesso a este recurso ou ação, ou que o
        pedido veio de um endereço fora da sua lista de IP; 404 numa rota de
        sessão significa que a sessão está fora dos fluxos ou estados da chave.
        Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs
        como nulos, e uma chave sem permissão de escrita em sessões recebe
        ligações de sessão e tokens como nulos. Consulte
        https://docs.didit.me/console/api-keys.
    BearerAuth:
      type: http
      scheme: bearer
      description: O token de acesso de credenciais de cliente da aplicação.

````

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