Recover one failed portfolio item after understanding its outcome, then export a reconciled report of the complete job. Keep this evidence with provider references and billing records so an operational retry does not become a duplicate purchase.
| Method | Resource | Scope | Idempotency-Key |
|---|---|---|---|
POST |
/v2/portfolio/jobs/{jobId}/items/{itemId}/retry |
domains:operate |
Required |
GET |
/v2/portfolio/jobs/{jobId}/export |
domains:read |
Not required by this route |
01 Decide whether a retry is safe
- Read the owned job and locate the exact item ID. Check the domain, operation, original payload, attempts, error and provider reference.
- For a known failure, correct the cause and confirm that retrying the same operation remains appropriate.
- For an
unknownoutcome, independently establish whether the provider acted. Check registry state, operation logs, invoices and provider support evidence as needed. - Set
provider_confirmed_safe: trueonly when that investigation establishes a safe retry. It is a statement of evidence, not a way to force another charged request. - POST the item retry with a new idempotency key, preserve the returned work reference and follow the new outcome.
The retry operation can return the durable job to running. Review any other remaining pending work before using it. Do not assume it is merely editing a label on the selected item.
02 Export the outcome report
GET the job's export resource. This API returns a normal response containing format: "csv", a column list and structured rows; it does not send raw CSV bytes. Render those rows with a proper CSV writer if you need a downloadable file.
The columns include sequence, domain, operation, provider, status, attempts, provider reference, error code and error detail. Preserve the stored plan and its preview-stage skipped entries separately, because the export describes persisted execution items.
Common questions
Can I interpret unknown as failed and retry automatically?
No. A timeout can hide a completed renewal or other provider action. Reconcile first to avoid repeated side effects or charges.
Does the job list let me page through all history?
This service uses a bounded recent-result window, currently up to 250 jobs, rather than the general page-number contract. Retain job IDs in your own operation ledger and read a known job directly.
What does succeeded mean in the report?
Read the operation's evidence. Some items complete their immediate work by dispatching a DNS changeset or forwarding deployment. Include those child outcomes and public verification in your final customer report.