# Get certification by report ID

Returns a certification by its report ID. While processing or when completed, signed download URLs are included in `files`.
If processing **fails asynchronously** (after the creation `POST` has succeeded), the API responds with an **HTTP status code appropriate to the failure** and an **`application/problem+json`** body using the same **`ErrorResponseRfc`** shape as other errors.
**404** applies when the `reportId` does not exist or is not visible to the caller.

Endpoint: GET /v1/certifications/{reportId}
Version: 1.5.0
Security: ApiKeyAuth

## Path parameters:

  - `reportId` (string, required)
    Report ID of the certification

## Response 200 fields (application/json):

  - `report_id` (string, required)
    Unique report identifier

  - `status` (string, required)
    Certification lifecycle status while the resource is on the success path, `pending` (in progress) or `completed`.
If asynchronous processing fails, this endpoint returns an error HTTP status and `application/problem+json` instead of this envelope (see responses 422, 500).

  - `created_at` (string, required)
    Creation timestamp

  - `title` (string, required)
    Title of the certification

  - `files` (array, required)
    List of files with signed download URLs; empty while pending

  - `files.type` (string, required)
    Type of file
    Enum: "xml", "media", "report", "data", "true_file"

  - `files.url` (string, required)
    Pre-signed URL to download the file

## Response 400 fields (application/problem+json):

  - `type` (string)
    A URI reference that identifies the problem type.
    Example: https://api.truescreen.io/errors/validation-error

  - `title` (string, required)
    Short, human-readable summary of the problem.
    Example: Validation failed

  - `status` (integer)
    HTTP status code.
    Example: 400

  - `detail` (string)
    Human-readable explanation specific to this occurrence.
    Example: One or more fields have invalid values

  - `code` (string, required)
    Unique code to identify the error.
    Example: TS-000

## Response 404 fields (application/problem+json):

  - `type` (string)
    A URI reference that identifies the problem type.
    Example: https://api.truescreen.io/errors/validation-error

  - `title` (string, required)
    Short, human-readable summary of the problem.
    Example: Validation failed

  - `status` (integer)
    HTTP status code.
    Example: 400

  - `detail` (string)
    Human-readable explanation specific to this occurrence.
    Example: One or more fields have invalid values

  - `code` (string, required)
    Unique code to identify the error.
    Example: TS-000

## Response 410 fields (application/problem+json):

  - `type` (string)
    A URI reference that identifies the problem type.
    Example: https://api.truescreen.io/errors/validation-error

  - `title` (string, required)
    Short, human-readable summary of the problem.
    Example: Validation failed

  - `status` (integer)
    HTTP status code.
    Example: 400

  - `detail` (string)
    Human-readable explanation specific to this occurrence.
    Example: One or more fields have invalid values

  - `code` (string, required)
    Unique code to identify the error.
    Example: TS-000

## Response 500 fields (application/problem+json):

  - `type` (string)
    A URI reference that identifies the problem type.
    Example: https://api.truescreen.io/errors/validation-error

  - `title` (string, required)
    Short, human-readable summary of the problem.
    Example: Validation failed

  - `status` (integer)
    HTTP status code.
    Example: 400

  - `detail` (string)
    Human-readable explanation specific to this occurrence.
    Example: One or more fields have invalid values

  - `code` (string, required)
    Unique code to identify the error.
    Example: TS-000

