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

# Recuperar informe asíncron de l'API de Didit

> Recupera un informe asíncron de Didit amb estat de generació, fitxers, IDs de sessions fallides i recompte de fallades abans de reintentar.

L'API de informes asíncrona de Didit retorna una tasca d'exportació i la llista actual d'elements fallits. `failed_count` és igual a la longitud de `failed_item_ids`; les sessions eliminades queden excloses.

Troba l'informe amb [Llista els informes asíncrons](https://docs.didit.me/ca/management-api/reports/list.md) i, després, segueix les [instruccions per reintentar](https://docs.didit.me/ca/console/export-pdf-csv.md#reintentar-elements-que-han-fallat-en-l’exportació) o [reintenta l'exportació](https://docs.didit.me/ca/management-api/reports/retry.md).


## OpenAPI

````yaml ca/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/reports/{report_uuid}/
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/organization/{organization_id}/application/{application_id}/reports/{report_uuid}/:
    get:
      tags:
        - Reports
      summary: Recupera l'informe asíncron
      description: >-
        Requereix permisos de lectura per a tots els recursos inclosos a
        l'informe. Les credencials d'aplicació o de clau d'API han de pertànyer
        a l'aplicació indicada al camí. Els tokens Bearer de membre han de tenir
        accés a l'aplicació. failed_item_ids exclou les sessions eliminades;
        failed_count és la seva longitud.
      operationId: retrieve_reports
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Identificador de l'organització.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Identificador de l'aplicació.
        - name: report_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID de l'informe.
      responses:
        '200':
          description: Recupera l'informe asíncron.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncReport'
        '401':
          description: Credencials que falten, no vàlides o caducades.
        '403':
          description: >-
            Qui fa la crida no té accés a aquesta aplicació o no té els permisos
            necessaris.
        '404':
          description: No s'ha trobat l'informe en aquesta aplicació.
        '429':
          $ref: '#/components/responses/RateLimitedRead'
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-codeSamples:
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            client = Didit()

            result = client.reports.retrieve(
                "11111111-2222-3333-4444-555555555555",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            const didit = new Didit();


            const result = await
            didit.reports.retrieve("11111111-2222-3333-4444-555555555555");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID\n// and DIDIT_APPLICATION_ID.\nclient := didit.NewClient()\n\nresult, err := client.Reports.Retrieve(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_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.reports().retrieve("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_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            $didit = new DiditClient();


            $result =
            $didit->reports->retrieve('11111111-2222-3333-4444-555555555555');

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


            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            # and DIDIT_APPLICATION_ID.

            didit = Didit::Client.new


            result =
            didit.reports.retrieve("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, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            using var client = new DiditClient();


            var result = await
            client.Reports.RetrieveAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    AsyncReport:
      type: object
      required:
        - uuid
        - report_type
        - report_type_display
        - status
        - status_display
        - parameters
        - requested_by_user_id
        - requested_by_email
        - requested_by_name
        - row_count
        - failed_item_ids
        - failed_count
        - file_size
        - files
        - scheduled_report
        - error_message
        - deletion_pending
        - eta_seconds
        - started_at
        - completed_at
        - expires_at
        - created_at
        - updated_at
      properties:
        uuid:
          type: string
          description: Identificador de l'informe.
          format: uuid
        report_type:
          type: string
          description: Tipus d'exportació o d'informe de compliment.
          enum:
            - SESSION_EXPORT
            - TRANSACTION_EXPORT
            - BUSINESS_EXPORT
            - VENDOR_USER_EXPORT
            - VENDOR_BUSINESS_EXPORT
            - CASE_EXPORT
            - CASE_SLA_EXPORT
            - LIST_ENTRY_EXPORT
            - EVENT_EXPORT
            - COMPLIANCE_KYC_KYB
            - COMPLIANCE_AML_LOG
            - COMPLIANCE_TRAVEL_RULE
            - COMPLIANCE_SANCTIONS_PEP
            - COMPLIANCE_RISK_SUMMARY
            - COMPLIANCE_SAR_STR_DRAFT
            - COMPLIANCE_CTR
            - COMPLIANCE_CASE_SUMMARY
        report_type_display:
          type: string
          description: Etiqueta visible del tipus d'informe.
        status:
          type: string
          description: >-
            Estat de generació. READY pot incloure fallades individuals; revisa
            failed_count.
          enum:
            - PENDING
            - PROCESSING
            - READY
            - FAILED
        status_display:
          type: string
          description: Etiqueta visible de l'estat de generació.
        parameters:
          type: object
          description: Opcions originals de l'exportació; les claus depenen de report_type.
          additionalProperties: true
        requested_by_user_id:
          type: string
          description: >-
            Identitat del sol·licitant original, o null per a les crides sense
            identitat d'usuari.
          format: uuid
          nullable: true
        requested_by_email:
          type: string
          description: Correu electrònic del sol·licitant, quan està disponible.
          nullable: true
        requested_by_name:
          type: string
          description: Nom visible del sol·licitant, quan està disponible.
          nullable: true
        row_count:
          type: integer
          description: Nombre de registres exportats, o null abans de la generació.
          nullable: true
        failed_item_ids:
          type: array
          description: >-
            UUID de les sessions en directe que han fallat en aquesta exportació
            de verificació. Les sessions eliminades queden excloses. Utilitza
            aquests IDs per a un reintent selectiu.
          items:
            type: string
            format: uuid
        failed_count:
          type: integer
          description: Nombre d'entrades a failed_item_ids.
          minimum: 0
        file_size:
          type: integer
          description: >-
            Mida total del fitxer generat en bytes, o null abans de la
            generació.
          format: int64
          nullable: true
        files:
          type: array
          description: Metadades del fitxer generat; no conté URL de descàrrega.
          items:
            $ref: '#/components/schemas/AsyncReportFile'
        scheduled_report:
          type: string
          description: >-
            Identificador de la programació, o null per a un informe no
            programat.
          format: uuid
          nullable: true
        error_message:
          type: string
          description: Error de generació, quan estigui disponible.
          nullable: true
        deletion_pending:
          type: boolean
          description: Indica si una eliminació sol·licitada encara està en curs.
        eta_seconds:
          type: integer
          description: >-
            Segons estimats fins a la finalització per a un informe pendent o en
            procés; null sense historial o quan ja s'ha completat.
          nullable: true
        started_at:
          type: string
          description: Hora d'inici de la generació.
          format: date-time
          nullable: true
        completed_at:
          type: string
          description: Hora de finalització de la generació.
          format: date-time
          nullable: true
        expires_at:
          type: string
          description: Data i hora en què caduca l'informe.
          format: date-time
        created_at:
          type: string
          description: Hora de creació.
          format: date-time
        updated_at:
          type: string
          description: Hora de l'última actualització.
          format: date-time
      example:
        uuid: 00000000-0000-4000-8000-000000000002
        report_type: SESSION_EXPORT
        report_type_display: Verifications
        status: READY
        status_display: Ready
        parameters: {}
        requested_by_user_id: null
        requested_by_email: null
        requested_by_name: null
        row_count: 9
        failed_item_ids:
          - 00000000-0000-4000-8000-000000000001
        failed_count: 1
        file_size: 1200
        files:
          - name: verifications.csv
            format: csv
            rows: 9
            bytes: 1200
        scheduled_report: null
        error_message: null
        deletion_pending: false
        eta_seconds: null
        started_at: '2026-11-11T01:00:00Z'
        completed_at: '2026-11-11T01:01:00Z'
        expires_at: '2026-12-11T01:00:00Z'
        created_at: '2026-11-11T01:00:00Z'
        updated_at: '2026-11-11T01:01:00Z'
    AsyncReportFile:
      type: object
      required:
        - name
        - format
        - rows
        - bytes
      properties:
        name:
          type: string
          description: Nom del fitxer.
        format:
          type: string
          description: Format del fitxer.
        rows:
          type: integer
          description: Registres exportats en aquest fitxer, quan sigui aplicable.
          nullable: true
        bytes:
          type: integer
          description: Mida del fitxer en bytes.
          format: int64
    RateLimitBudgetError:
      type: object
      description: >-
        Només es retorna en un rebuig del pressupost del middleware de límit de
        freqüència. Altres errors 429, inclosos conflictes d'idempotència i
        límits específics de l'endpoint, no garanteixen aquests camps de
        metadades.
      required:
        - detail
        - reference
        - limit
        - remaining
        - reset
        - window_seconds
      properties:
        detail:
          type: string
          description: >-
            Missatge de denegació de pressupost existent, comprensible per a
            humans.
        reference:
          type: string
          pattern: ^RL-[0-9a-f]{32}$
          description: >-
            Referència de suport opaca: RL- seguit de 32 caràcters hexadecimals
            en minúscula d'un UUID.
        limit:
          type: integer
          description: Pressupost de l'àmbit superat; és igual a X-RateLimit-Limit.
        remaining:
          type: integer
          minimum: 0
          description: >-
            Pressupost restant, amb un mínim de zero; és igual que
            X-RateLimit-Remaining.
        reset:
          type: integer
          format: int64
          description: >-
            Temps de reinici de la finestra en segons Unix; és igual que
            X-RateLimit-Reset.
        window_seconds:
          type: integer
          description: >-
            Durada de la finestra fixa en segons, no l'espera restant. Respecta
            Retry-After abans de reintentar.
      example:
        detail: >-
          Write request rate limit exceeded. You can make up to 300 requests per
          minute.
        reference: RL-00000000000040008000000000000001
        limit: 300
        remaining: 0
        reset: 1794358860
        window_seconds: 60
  responses:
    RateLimitedRead:
      description: >-
        S'ha superat el pressupost de lectura del middleware. Respecta
        Retry-After abans de reintentar.
      headers:
        Retry-After:
          $ref: '#/components/headers/BudgetRetryAfter'
        X-RateLimit-Scope:
          $ref: '#/components/headers/BudgetXRateLimitScope'
        X-RateLimit-Limit:
          $ref: '#/components/headers/BudgetXRateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/BudgetXRateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/BudgetXRateLimitReset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitBudgetError'
          example:
            detail: >-
              GET request rate limit exceeded. You can make up to 600 requests
              per minute.
            reference: RL-00000000000040008000000000000001
            limit: 600
            remaining: 0
            reset: 1794358860
            window_seconds: 60
  headers:
    BudgetRetryAfter:
      description: >-
        Nombre de segons que cal esperar, arrodonit fins a la finestra següent.
        Present en els rebutjos del pressupost del middleware.
      schema:
        type: integer
    BudgetXRateLimitScope:
      description: >-
        L'àmbit que ha superat el seu pressupost. Present en els rebutjos del
        pressupost del middleware.
      schema:
        type: string
    BudgetXRateLimitLimit:
      description: >-
        Pressupost de l'àmbit superat; és igual al límit del cos. Hi és present
        en les denegacions de pressupost del middleware.
      schema:
        type: integer
    BudgetXRateLimitRemaining:
      description: >-
        Pressupost restant, amb un mínim de zero; és igual que remaining del
        cos. Hi és present a les denegacions del pressupost del middleware.
      schema:
        type: integer
    BudgetXRateLimitReset:
      description: >-
        Temps de reinici en segons Unix; és igual que reset del cos. Present en
        els rebutjos del pressupost del middleware.
      schema:
        type: integer
  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.