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

# Cancel·lar la verificació de cartera d'identitat digital

> Aquesta pàgina de la documentació de Didit explica com cancel·lar una verificació de cartera d'identitat digital independent pendent.

Crida aquest endpoint quan la persona abandoni una verificació de cartera d'identitat digital pendent a la teva aplicació.
Autentica't amb una clau d'API que pertanyi a l'aplicació que la va iniciar.

Llegeix el resultat retornat en lloc de donar per fet que la cancel·lació ha guanyat una cursa contra una autenticació que ja s'ha completat.
La cancel·lació no serveix per revertir una verificació d'identitat ja completada.

Consulta [APIs de cartera d'identitat digital](https://docs.didit.me/ca/standalone-apis/digital-id-wallets.md) per a la seqüència d'integració completa.


## OpenAPI

````yaml ca/openapi-25.json POST /v3/id-verification/wallets/verifications/{request_id}/cancel/
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/id-verification/wallets/verifications/{request_id}/cancel/:
    post:
      tags:
        - Digital ID wallets
      summary: Cancel·lar una verificació de cartera
      description: >-
        Retira una verificació pendent: es rebutja com a cancel·lada i mai no es
        factura. Una verificació ja decidida es retorna sense canvis. Smart-ID i
        Mobile-ID: una cancel·lació que arriba mentre un sondeig està comprovant
        l'inici de sessió espera uns quants segons per a aquest sondeig, i
        després la rebutja, o la retorna verificada si l'usuari ja havia
        confirmat. Una verificació que l'usuari està completant en aquest mateix
        moment no es pot cancel·lar (409 verification_in_progress amb
        Retry-After): reintenta-ho passats aquests segons per conèixer el seu
        resultat.
      operationId: cancel_wallet_verification
      parameters:
        - in: path
          name: request_id
          schema:
            type: string
            format: uuid
          description: El request_id que ha retornat l'endpoint d'inici.
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DigitalIdWalletApiWalletVerificationResponse
              example:
                request_id: 00000000-0000-4000-8000-000000000001
                wallet_verification:
                  wallet:
                    id: ftn
                    name: Finnish Trust Network
                    issuing_authority: Finnish banks and mobile operators (FTN)
                  country: FIN
                  status: Declined
                  outcome: cancelled
                  error: cancelled_by_customer
                  interaction: redirect
                  simulated: false
                  expires_at: '2026-01-01T10:10:00Z'
                  next_action: null
                  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: ''
        '403':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/DigitalIdWalletApiClientCredentialsForbiddenErrorMessage
          description: 'Falten les credencials (x-api-key o Authorization: Bearer).'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            error not_found: cap verificació de cartera d'aquesta aplicació té
            aquest request_id.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DigitalIdWalletApiWalletVerificationError'
          description: >-
            error verification_in_progress: l'usuari està completant aquest
            inici de sessió ara mateix. La capçalera Retry-After indica quan cal
            reintentar; el reintent retorna la verificació resolta.
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request POST \
              --url https://verification.didit.me/v3/id-verification/wallets/verifications/REQUEST_ID/cancel/ \
              --header 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.id_wallets.cancel_verification(
                "11111111-2222-3333-4444-555555555555",
            )
            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.cancelVerification("11111111-2222-3333-4444-555555555555");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.IDWallets.CancelVerification(ctx, \"11111111-2222-3333-4444-555555555555\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.idWallets().cancelVerification("11111111-2222-3333-4444-555555555555");

            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->cancelVerification('11111111-2222-3333-4444-555555555555');

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


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.id_wallets.cancel_verification("11111111-2222-3333-4444-555555555555")

            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.IdWallets.CancelVerificationAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    DigitalIdWalletApiWalletVerificationResponse:
      type: object
      description: >-
        Una verificació de cartera independent, tal com respon cada endpoint de
        carteres.
      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: L'objecte de metadades enviat a l'inici, o null.
        created_at:
          type: string
          format: date-time
      required:
        - created_at
        - metadata
        - request_id
        - vendor_data
        - wallet_verification
    DigitalIdWalletApiClientCredentialsForbiddenErrorMessage:
      type: object
      properties:
        detail:
          type: string
          default: Forbidden - User doesn't have permission
    DigitalIdWalletApiWalletVerificationError:
      type: object
      properties:
        error:
          type: string
          description: Codi llegible per màquina estable, p. ex. wallet_unavailable.
        detail:
          type: string
      required:
        - detail
        - error
    DigitalIdWalletApiWalletVerificationResult:
      type: object
      properties:
        wallet:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiWallet'
          readOnly: true
        country:
          type: string
        status:
          type: string
          description: >-
            Not Finished mentre està pendent, després Approved (verificada) 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: >-
            Cert un cop s'ha verificat la signatura de la credencial; null per a
            una de 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
    DigitalIdWalletApiWallet:
      type: object
      properties:
        id:
          type: string
          description: Identificador de catàleg de la cartera, p. 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` - Pendent
        * `verified` - Verificat
        * `cancelled` - Cancel·lat per l'usuari
        * `timeout` - Temps esgotat
        * `failed` - Fallit
    DigitalIdWalletApiInteractionEnum:
      enum:
        - redirect
        - in_app
        - digital_credentials
      type: string
      description: |-
        * `redirect` - redirecció
        * `in_app` - a l'aplicació
        * `digital_credentials` - credencials digitals
    DigitalIdWalletApiWalletNextAction:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/DigitalIdWalletApiWalletNextActionTypeEnum'
          description: >-
            redirect: envia el navegador de l'usuari a url. confirm_in_app:
            mostra verification_code a l'usuari, que comprova que coincideixi
            amb el codi de la seva aplicació de cartera i confirma allà; després
            fes una consulta periòdica. request_digital_credential: en un gest
            de l'usuari a l'origen amb què has començat, sol·licita-ho a la
            cartera amb digital_credentials.request i, a continuació, envia el
            que retorni 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: 'només redirect: on l''usuari inicia sessió amb la cartera.'
        digital_credentials:
          allOf:
            - $ref: >-
                #/components/schemas/DigitalIdWalletApiWalletDigitalCredentialsRequest
          description: >-
            només request_digital_credential: la sol·licitud que s'ha de passar
            a la cartera.
        verification_code:
          type: string
          description: >-
            Només confirm_in_app: el codi de comparació de 4 dígits que també
            mostra l'aplicació de la cartera.
        poll_interval_seconds:
          type: integer
          description: >-
            Només confirm_in_app: amb quina freqüència s'ha de cridar POST
            .../verifications/{request_id}/poll/ per obtenir informació
            immediata. Didit també fa sondejos en segon pla dels inicis de
            sessió pendents, de manera que el webhook informa del resultat fins
            i tot si no fas sondejos.
      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: Nacionalitat ISO3, només quan la cartera n'afirmi una (mai deduïda).
        issuing_state:
          type: string
          description: País ISO3 l'esquema del qual ha emès la identitat.
      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` - redirecció
        * `confirm_in_app` - confirma a l'aplicació
        * `request_digital_credential` - sol·licita una credencial digital
    DigitalIdWalletApiWalletDigitalCredentialsRequest:
      type: object
      properties:
        protocol:
          type: string
          description: openid4vp-v1-signed.
        request:
          type: object
          additionalProperties: {}
          description: >-
            Passa-ho tal com està: navigator.credentials.get({digital: request})
            al navegador, o JSON.stringify(request) com a requestJson de
            GetDigitalCredentialOption a Android. Signat per Didit per a la teva
            aplicació.
      required:
        - protocol
        - request
  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.
    BearerAuth:
      type: http
      scheme: bearer
      description: El token d'accés de credencials de client de l'aplicació.

````

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