POST /api/v2/callbacks/{event_id}/retry
Only for a FAILED event; at most 3 manual retries per event (else CALLBACK_NOT_RETRYABLE). Needs the results:read scope.
- Auth: API key (Authorization: Bearer)
- Key scope needed:
results:read - Raw spec: https://app.diffusr.ai/api/v2/openapi.json
Path
| Name | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | The callback event id (“evt_…”). |
Example
curl -X POST "https://app.diffusr.ai/api/v2/callbacks/evt_3Qp9xxxxxxxx/retry" \ -H "Authorization: Bearer $DIFFUSR_KEY"import { Diffusr } from "diffusr";
const d = new Diffusr(); // reads DIFFUSR_KEYawait d.retryCallback("evt_3Qp9xxxxxxxx");from diffusr import Diffusr
d = Diffusr() # reads DIFFUSR_KEYd.retry_callback("evt_3Qp9xxxxxxxx")Response
202 ApiCallbackDeliveryItem
The event, queued for another try.
| Name | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | |
type | “result.finished” | yes | |
result_id | string | yes | The job this event is about. |
url | string | yes | |
status | “PENDING” | “DELIVERED” | “FAILED” | yes | PENDING = will be tried (again); DELIVERED = your server answered 2xx; FAILED = we gave up. |
attempts | integer | yes | |
last_status_code | integer | no | |
last_error | string | no | |
last_attempt_at | string | no | |
next_attempt_at | string | no | |
delivered_at | string | no | |
created_at | string | yes | |
test | true | no |
Errors
Every error body is { error, code, request_id, ... }. All codes and what to do.
- 401: Missing, wrong, revoked or expired API key (code UNAUTHORIZED, KEY_REVOKED, KEY_EXPIRED).
- 403: The key may not do this (SCOPE_DENIED, MODEL_NOT_ALLOWED, TEST_MODE_UNSUPPORTED, ACCOUNT_BLOCKED, allowance_exceeded).
- 404: No such id, or it is not yours, or it belongs to the other key mode (NOT_FOUND).
- 409: IDEMPOTENCY_CONFLICT or CALLBACK_NOT_RETRYABLE.
- 422: The request is not valid (VALIDATION_FAILED, INVALID_JSON, PREFLIGHT_FAILED, CALLBACK_URL_INVALID, REFERENCE_*). `issues` lists each problem. Nothing was charged.
- 429: Too many requests or jobs (RATE_LIMITED, CONCURRENCY_LIMIT, UPLOAD_QUOTA, …). Wait Retry-After seconds, then retry.
- 500: Our fault (INTERNAL_ERROR). Quote request_id to support.
- 503: Paused or busy (API_PAUSED, MODEL_PAUSED, PROVIDER_PAUSED, PROVIDER_BUSY, UNAVAILABLE). Wait Retry-After seconds, then retry.
Charges
Free. No credits are spent.