Report availability metadata / PDF download for a check
GET /api/v1/reports/{reportType}/{checkId}
GET https://api.trustverify.co.uk/api/v1/reports/{reportType}/{checkId}
GET /api/v1/reports/RPT-001/{checkId} returns JSON availability metadata; GET /api/v1/reports/RPT-001/{checkId}.pdf streams the PDF report rendered from the stored check data. 404 when the check does not exist for your account.
Report types this API produces: RPT-001 Individual Identity Verification (KYC) — for kyc checks; RPT-002 Business Verification (KYB) — for kyb checks; RPT-003 AML Screening — for aml_screen checks. RPT-016 is the ZIP evidence bundle and is requested via POST /api/v1/reports/rpt-016, not here.
Other advertised report codes (RPT-004 … RPT-015) have no renderer on this API and return 501; a code that is not a TrustVerify report type returns 400; a valid code requested for a check of the wrong subject (for example RPT-002 for a kyc check) returns 409 with the correct type in suggestedType. No document is ever produced outside this set — a TrustVerify-branded PDF always means the named report was really rendered from the named check.
Parameters#
| Field | Type | Description |
|---|---|---|
| reportType (path)required | RPT-001 | RPT-002 | RPT-003 | |
| checkId (path)required | string |
Example request#
curl -sS -X GET 'https://api.trustverify.co.uk/api/v1/reports/RPT-001/chk_123' \
-H "Authorization: Bearer $TRUSTVERIFY_API_KEY"Responses#
200 Availability metadata (JSON) or the report itself (application/pdf with .pdf suffix)
| Field | Type | Description |
|---|---|---|
| reportTyperequired | string | |
| reportTitlerequired | string | |
| checkIdrequired | string | |
| statusrequired | string: "available" | |
| downloadUrlrequired | string | |
| generatedAtrequired | string | |
| retainedUntilrequired | string |
400 Not a TrustVerify report type
| Field | Type | Description |
|---|---|---|
| errorrequired | string: "validation_failed" | |
| coderequired | string: "UNKNOWN_REPORT_TYPE" | |
| messagerequired | string | |
| supportedTypesrequired | array of string |
404 Check not found — no report is available
409 Report type does not match the subject of this check
| Field | Type | Description |
|---|---|---|
| errorrequired | string: "report_type_mismatch" | |
| coderequired | string: "REPORT_TYPE_MISMATCH" | |
| messagerequired | string | |
| checkTyperequired | string | |
| suggestedTyperequired | string,null | |
| supportedTypesrequired | array of string |
501 Advertised report type with no renderer on this API — no document is produced
| Field | Type | Description |
|---|---|---|
| errorrequired | string: "not_implemented" | |
| coderequired | string: "NOT_IMPLEMENTED" | |
| messagerequired | string | |
| supportedTypesrequired | array of string |