Cancel a job
Stops before the next step (a running step finishes first). A canceled job is refunded in full.
POST /v1/jobs/{id}/cancel
Request
curl -X POST https://api.fynepdf.com/v1/jobs/job_01jc9a2b3c4d5e6f7g8h9j/cancel \
-H "Authorization: Bearer $FYNEPDF_API_KEY"Path and query parameters
| Parameter | Type | Required | What it does |
|---|---|---|---|
id | string | yes |
Response
A job: 200 when it finished within wait, 202 if it is still running; then poll it or use a webhook. The receipt says what each step did and cost, and outputs holds the result with a download link (good for an hour; the file is kept 24 hours).
{
"object": "job",
"id": "job_01jc9a2b3c4d5e6f7g8h9j",
"status": "succeeded",
"mode": "live",
"inputs": [],
"steps": [
{
"action": "compress",
"params": {}
}
],
"receipt": {
"steps": [
{
"step": 1,
"action": "compress",
"status": "succeeded",
"credits": 1,
"pages_before": null,
"pages_after": 14,
"bytes_before": null,
"bytes_after": 4600000,
"duration_ms": 4200
}
],
"credits": 1,
"credits_quoted": 1,
"duration_ms": 4300
},
"outputs": [
{
"object": "file",
"id": "file_01jc9b7c8d9e0f1g2h3j4k",
"filename": "result.pdf",
"kind": "pdf",
"bytes": 4600000,
"pages": 14,
"download_url": "https://files.fynepdf.com/…",
"expires_at": "2026-11-02T10:30:00.000Z"
}
],
"error": null
}
Errors
Errors are problem details (RFC 9457) with a code you can branch on and a request_id for support.