Mailing Records
Certified-mail shipment detail responses include mailing-record state and retained artifacts. Use the endpoints here when you need downloadable evidence files outside the shipment JSON response.
Evidence provenance
Corvo distinguishes between carrier-native artifacts, carrier-event records, and Corvo-generated summaries. The mailing-record summary PDF and evidence bundle are Corvo-generated synthetic download surfaces. `/proof` always regenerates the current summary from retained shipment state. Stored SCAN forms and carrier-native return-receipt PDFs are labeled separately in the artifact metadata.
Download the mailing-record summary
GET
/api/v1/shipments/{id}/proofDownload the Corvo-generated mailing-record summary PDF for a certified-mail shipment.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Yes | Shipment ID. |
Response200Binary PDF response
Content-Type: application/pdf
Content-Disposition: attachment; filename="mailing-record-summary-9405511899223033005084.pdf"
<binary pdf bytes>List retained artifacts
GET
/api/v1/shipments/{id}/artifactsList retained shipment artifacts plus Corvo-generated download surfaces for the mailing-record summary and evidence bundle.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Yes | Shipment ID. |
Response200Artifact list
{
"data": [
{
"id": "mailing-record-summary",
"kind": "mailing_record_summary_pdf",
"source": "corvo",
"provenance": "corvo_generated",
"status": "available",
"filename": "mailing-record-summary-9405511899223033005084.pdf",
"content_type": "application/pdf",
"available_at": "2026-03-09T15:15:00.000Z",
"expires_at": "2036-03-09T15:15:00.000Z",
"download_url": "/api/v1/shipments/f47ac10b-58cc-4372-a567-0e02b2c3d479/proof"
},
{
"id": "0d541997-7e7b-4e91-a73f-3634fe5941a6",
"kind": "carrier_scan_form_pdf",
"source": "easypost",
"provenance": "carrier_native",
"status": "available",
"filename": "scan-form.pdf",
"content_type": "application/pdf",
"available_at": "2026-03-10T12:04:11.000Z",
"expires_at": "2036-03-09T12:04:11.000Z",
"download_url": "/api/v1/shipments/f47ac10b-58cc-4372-a567-0e02b2c3d479/artifacts/0d541997-7e7b-4e91-a73f-3634fe5941a6"
},
{
"id": "34cbbe0e-3f1f-4fe9-a4fc-bf9d8d7908fa",
"kind": "carrier_return_receipt_pdf",
"source": "easypost",
"provenance": "carrier_native",
"status": "unavailable",
"filename": null,
"content_type": "application/pdf",
"available_at": null,
"expires_at": "2036-03-09T15:15:00.000Z",
"download_url": null
}
]
}Synthetic summary and bundle entries
The summary and evidence bundle always appear in the artifact list once the shipment has a tracking number. Legacy stored summary and bundle rows are not the canonical public download surface.
Download the evidence bundle
GET
/api/v1/shipments/{id}/evidence-bundleDownload a ZIP bundle containing the mailing-record summary, tracking-events JSON, and any retained carrier-backed PDFs Corvo has for the shipment.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string (UUID) | Yes | Shipment ID. |
curl -L "https://corvo.to/api/v1/shipments/f47ac10b-58cc-4372-a567-0e02b2c3d479/evidence-bundle" \
-H "Authorization: Bearer $CORVO_API_KEY" \
-o evidence-bundle.zipResponse200Binary ZIP response
Content-Type: application/zip
Content-Disposition: attachment; filename="evidence-bundle-9405511899223033005084.zip"
<binary zip bytes>What these routes do not imply
Corvo provides mailing infrastructure and retained records. It does not determine whether a given artifact is legally sufficient for a specific jurisdiction, court, statute, or contract.
Response400Tracking number not available yet
{
"error": {
"message": "Shipment has not been purchased yet — no tracking number available",
"code": "NO_TRACKING_NUMBER"
}
}Response410Evidence retention expired
{
"error": {
"message": "Shipment evidence retention has expired",
"code": "EVIDENCE_EXPIRED"
}
}