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

# Tasca d'eliminació de sessions: API per obtenir l'estat

> Consulta l'estat i els recomptes de resultats d'una eliminació massiva de sessions que Didit ha respost amb 202 perquè hi havia més de 20 sessions.



Obtenir el prompt de la tasca d'eliminació de sessions
        Copia el prompt al porta-retalls



      
      

\<pre>

\`Goal: Read the progress of a bulk session deletion that POST /v3/sessions/delete/ answered with 202. That happens when more than 20 KYC sessions match the request, whether they are selected by session_numbers or with delete_all.

Endpoint: GET https://verification.didit.me/v3/sessions/delete/{job_id}/
Auth header: x-api-key: <DIDIT_API_KEY>

Path param:
\- job_id: the job_id returned with the 202.

curl:
curl 'https://verification.didit.me/v3/sessions/delete/JOB_ID/' \
-H 'x-api-key: YOUR_API_KEY'

Response 200:
\{
"job_id": "<uuid>",
"status": "PROCESSING",            // PENDING | PROCESSING | COMPLETED | FAILED
"total": 250,                      // sessions selected when the deletion was requested
"processed": 100,                  // sessions the job has finished with so far
"outcomes": {"deleted": 82, "none": 18, "retained_with_user": 0, "ineligible_no_vendor_user": 0, "failed_retryable": 0, "already_deleted": 0},
"deleted_child_verifications": 0,  // always 0 for jobs from POST /v3/sessions/delete/ (KYC sessions only)
"error": null,                     // why the deletion stopped, when status is FAILED
"created_at": "<datetime>",
"completed_at": null
}

outcomes counts:
\- deleted: sessions deleted together with their face embedding.
\- none: sessions deleted that had no face embedding.
\- retained_with_user: sessions deleted while one image-free biometric template was retained for their User, as the request or the application policy asked.
\- ineligible_no_vendor_user: retention was requested but the session had no linked User; the session and its embedding were deleted.
\- failed_retryable: sessions reported as not deleted. The job retries a group it could not delete by itself instead of counting it here.
\- already_deleted: selected sessions that were already deleted, for example by another request, when the job reached them.

Polling: request the job every few seconds while status is PENDING or PROCESSING; stop at COMPLETED or FAILED. The job never lists which sessions it deleted, only counts. A FAILED job explains why in error; the sessions it had not reached are still in place, so repeat the deletion request to delete them. Deletion is permanent and irreversible.

Failure modes:
\- 403: missing x-api-key (a wrong, revoked or expired key gets 401). { "detail": "You do not have permission to perform this action." }
\- 404: no such job for this application (a job is only visible to the application that created it).

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

\</pre>



      
      

Enganxa a

## Visió generalRetorna una eliminació massiva de sessions iniciada amb [Eliminar sessions en lot](https://docs.didit.me/ca/management-api/sessions/batch-delete.md): el seu estat, quantes sessions ha processat i quantes han acabat en cada resultat.Quan més de 20 sessions KYC coincideixen amb una eliminació massiva, seleccionades amb `session_numbers` o amb `delete_all`, la sol·licitud retorna `202` amb una tasca `PENDING` i les sessions s'eliminen en segon pla. Consulta aquest endpoint cada pocs segons fins que `status` sigui `COMPLETED` o `FAILED`.Cada sessió que la tasca elimina s'elimina exactament igual que amb [Eliminar sessió](https://docs.didit.me/ca/sessions-api/delete-session.md): s'eliminen la sessió, tots els intents de verificació que conté i tots els fitxers emmagatzemats, i les seves URL de contingut multimèdia deixen de resoldre's. L'eliminació és permanent i irreversible.La tasca només informa de recomptes. Mai no enumera les sessions que ha eliminat.## Estat de la tasca| `status` | Significat |
| - | - |
| `PENDING` | Acceptada, encara no iniciada. |
| `PROCESSING` | S'estan eliminant sessions; `processed` i `outcomes` s'estan actualitzant. |
| `COMPLETED` | Totes les sessions seleccionades estan comptabilitzades a `outcomes`. |
| `FAILED` | La tasca s'ha aturat abans d'hora i `error` n'indica el motiu. Les sessions que no havia arribat a processar encara hi són: repeteix la sol·licitud d'eliminació per eliminar-les. |Una tasca `delete_all` només elimina les sessions creades abans de la sol·licitud. Les sessions iniciades mentre s'executa no s'eliminen.## Recomptes de resultats| Clau de `outcomes` | Significat |
| - | - |
| `deleted` | Sessions eliminades juntament amb el seu embedding facial. |
| `none` | Sessions eliminades que no tenien embedding facial. |
| `retained_with_user` | Sessions eliminades mentre es conservava una plantilla biomètrica sense imatges per al seu usuari, tal com ho demanava la sol·licitud o la política de l'aplicació. Consulta [Eliminar sessió](https://docs.didit.me/ca/sessions-api/delete-session.md#dades-biomètriques-facials-eliminar-o-conservar). |
| `ineligible_no_vendor_user` | Es va demanar conservar la plantilla, però la sessió no tenia cap usuari vinculat. La sessió i el seu embedding facial s'han eliminat. |
| `failed_retryable` | Sessions que consten com a no eliminades. La tasca reintenta un grup que no ha pogut eliminar per si mateixa, en lloc de comptar-lo aquí. |
| `already_deleted` | Sessions seleccionades que ja estaven eliminades, per exemple per una altra sol·licitud, quan la tasca hi ha arribat. |`deleted_child_verifications` compta les verificacions que han creat les verificacions d'empreses eliminades i que s'han eliminat juntament amb elles. Sempre és `0` per a una tasca iniciada amb [Eliminar sessions en lot](https://docs.didit.me/ca/management-api/sessions/batch-delete.md), que només elimina sessions KYC.## PermisosQualsevol clau d'API activa de l'aplicació pot cridar aquest endpoint. Una tasca només és visible per a l'aplicació que l'ha creada; qualsevol altre `job_id` retorna `404`.## Relacionats- [Eliminar sessions en lot](https://docs.didit.me/ca/management-api/sessions/batch-delete.md)
- [Eliminar sessió](https://docs.didit.me/ca/sessions-api/delete-session.md)
- [Conservació de dades](https://docs.didit.me/ca/console/data-retention.md)


## OpenAPI

````yaml ca/openapi-25.json GET /v3/sessions/delete/{job_id}/
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/sessions/delete/{job_id}/:
    get:
      tags:
        - Sessions
      summary: Obtenir una tasca d'eliminació massiva de sessions
      description: >-
        Progrés d'una eliminació massiva de sessions a la qual `POST
        /v3/sessions/delete/` ha respost amb `202` (més de 20 sessions
        coincidents, seleccionades mitjançant `session_numbers` o amb
        `delete_all`). Fes sondeig cada pocs segons mentre `status` sigui
        `PENDING` o `PROCESSING`; atura't quan sigui `COMPLETED` o `FAILED`.


        La tasca informa de quantes sessions han acabat en cada resultat i
        quantes n'ha processat, mai de quines sessions ha eliminat. Una tasca
        `FAILED` inclou el motiu a `error`; les sessions a les quals no havia
        arribat continuen existint, de manera que cal repetir la sol·licitud
        d'eliminació per eliminar-les.


        **Autenticació:** clau d'API a la capçalera `x-api-key`. Una tasca només
        és visible per a l'aplicació que la va crear; qualsevol altre `job_id`
        retorna `404`. Unes credencials absents o no vàlides retornen `403`;
        aquesta API mai retorna `401`.
      operationId: get_session_deletion_job
      parameters:
        - name: job_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: El `job_id` retornat amb el `202` de `POST /v3/sessions/delete/`.
      responses:
        '200':
          description: La tasca.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionDeletionJob'
              examples:
                Processing:
                  value:
                    job_id: 5b8f2c1e-7d3a-4f6b-9e2c-1a0d8f7e6c5b
                    status: PROCESSING
                    total: 250
                    processed: 100
                    outcomes:
                      deleted: 82
                      none: 18
                      retained_with_user: 0
                      ineligible_no_vendor_user: 0
                      failed_retryable: 0
                      already_deleted: 0
                    deleted_child_verifications: 0
                    error: null
                    created_at: '2026-10-09T10:15:00Z'
                    completed_at: null
                Completed:
                  value:
                    job_id: 5b8f2c1e-7d3a-4f6b-9e2c-1a0d8f7e6c5b
                    status: COMPLETED
                    total: 250
                    processed: 250
                    outcomes:
                      deleted: 204
                      none: 44
                      retained_with_user: 0
                      ineligible_no_vendor_user: 0
                      failed_retryable: 0
                      already_deleted: 2
                    deleted_child_verifications: 0
                    error: null
                    created_at: '2026-10-09T10:15:00Z'
                    completed_at: '2026-10-09T10:16:40Z'
                Failed:
                  value:
                    job_id: 5b8f2c1e-7d3a-4f6b-9e2c-1a0d8f7e6c5b
                    status: FAILED
                    total: 250
                    processed: 100
                    outcomes:
                      deleted: 82
                      none: 18
                      retained_with_user: 0
                      ineligible_no_vendor_user: 0
                      failed_retryable: 0
                      already_deleted: 0
                    deleted_child_verifications: 0
                    error: >-
                      The deletion stopped before it finished. The sessions it
                      had not reached are still in place; repeat the request to
                      delete them.
                    created_at: '2026-10-09T10:15:00Z'
                    completed_at: '2026-10-09T10:15:52Z'
        '403':
          description: >-
            Falta la clau d'API. Si falta la clau, es retorna `403`; una clau
            incorrecta, revocada o caducada retorna `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Missing or invalid API key:
                  summary: Falta la capçalera x-api-key, o la clau no és vàlida
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: >-
            No existeix cap tasca de supressió amb aquest `job_id` per a
            l'aplicació sol·licitant. Les tasques només són visibles per a
            l'aplicació que les ha creat.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl 'https://verification.didit.me/v3/sessions/delete/JOB_ID/' \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.retrieve_deletion_job(
                "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.sessions.retrieveDeletionJob("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.Sessions.RetrieveDeletionJob(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.sessions().retrieveDeletionJob("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->sessions->retrieveDeletionJob('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.sessions.retrieve_deletion_job("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.Sessions.RetrieveDeletionJobAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SessionDeletionJob:
      type: object
      description: >-
        Una eliminació massiva de sessions en execució en segon pla: progrés i
        recomptes per resultat, mai quines sessions ha eliminat.
      properties:
        job_id:
          type: string
          format: uuid
          description: >-
            Consulta periòdicament `GET /v3/sessions/delete/{job_id}/` amb
            aquest id.
        status:
          type: string
          enum:
            - PENDING
            - PROCESSING
            - COMPLETED
            - FAILED
          description: >-
            `PENDING`: acceptat, encara no iniciat. `PROCESSING`: suprimint;
            `processed` i `outcomes` s'estan actualitzant. `COMPLETED`: s'ha
            donat compte de totes les sessions seleccionades. `FAILED`: la feina
            s'ha aturat abans d'hora; consulta `error`.
        total:
          type: integer
          description: Sessions seleccionades quan es va sol·licitar la supressió.
        processed:
          type: integer
          description: Sessions que la tasca ha completat fins ara.
        outcomes:
          type: object
          description: >-
            Quantes sessions han acabat en cada resultat. Totes les claus estan
            sempre presents.
          properties:
            deleted:
              type: integer
              description: Sessions suprimides juntament amb el seu embedding facial.
            none:
              type: integer
              description: Sessions suprimides que no tenien cap embedding facial.
            retained_with_user:
              type: integer
              description: >-
                Sessions suprimides mentre es va conservar una plantilla
                biomètrica sense imatges per al seu usuari, tal com demanava la
                sol·licitud o la política de l'aplicació.
            ineligible_no_vendor_user:
              type: integer
              description: >-
                Sessions suprimides, amb el seu embedding facial, perquè se'n va
                sol·licitar la conservació però no tenien cap usuari vinculat.
            failed_retryable:
              type: integer
              description: >-
                Sessions reportades com a no suprimides. Una tasca reintenta un
                grup que no ha pogut suprimir per si mateixa en lloc de
                comptabilitzar-lo aquí.
            already_deleted:
              type: integer
              description: >-
                Sessions seleccionades que ja s'havien suprimit, per exemple
                mitjançant una altra sol·licitud, quan la tasca hi va arribar.
        deleted_child_verifications:
          type: integer
          description: >-
            Verificacions creades per les verificacions d'empreses eliminades,
            eliminades amb elles. Sempre és `0` per a una tasca iniciada per
            `POST /v3/sessions/delete/`, que només elimina sessions de KYC.
        error:
          type: string
          nullable: true
          description: >-
            `null` tret que `status` sigui `FAILED`; en aquest cas, el motiu pel
            qual s'ha aturat l'eliminació. Les sessions a les quals la tasca no
            ha arribat continuen existint: repeteix la sol·licitud per
            eliminar-les.
        created_at:
          type: string
          format: date-time
          description: Quan es va sol·licitar l'eliminació.
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: Quan va finalitzar la tasca; `null` mentre s'està executant.
  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.