---
title: "Get attribution certificate"
method: GET
path: "/jobs/{job_id}/certificate"
tags: ["jobs"]
---

# Get attribution certificate

`GET /jobs/{job_id}/certificate`

## Request

- Base URL: `https://api.whoisgeni.us` (the document declares no server; this is the origin it was published from)
- URL: `https://api.whoisgeni.us/jobs/{job_id}/certificate`
- Auth: none declared

Get a signed attribution certificate for a completed job.

Returns a deterministic, HMAC-signed certificate containing the full
analysis results, chain-of-evidence, and cryptographic metadata for
independent verification.

Implements generate-once/serve-forever: the first request creates and
persists the certificate, subsequent requests return the stored version.

Returns 404 if the job does not exist, 409 if the analysis is still
in progress, and the signed certificate envelope when complete.

## Path parameters

- `job_id` string, required

## Query parameters

- `format` string, nullable: Response format: 'pdf', 'csv', or 'json'

## Headers

- `accept` string
- `X-API-Key` string, nullable

## Response `200`

Certificate as JSON envelope or PDF document

- unknown

## Other responses

- `401`: Unauthorized — missing or invalid API key/JWT.
- `404`: Job not found or no scoring data
- `409`: Analysis not yet complete
- `422`: Validation Error

---

[API](https://skmtc.dev/whoisgeni/apis/whoisgenius.md) · [All operations](https://skmtc.dev/whoisgeni/apis/whoisgenius/llms.txt) · [OpenAPI document](https://skmtc.dev/whoisgeni/apis/whoisgenius/revisions/707f1c34f6b3?raw)
