Releases

Retry publishing a release

POST
/releases/{release_id}/retry

Queues every failed or queued Publication of the release and starts its repository publishing workflow again. Publishing uses that release's version and accepted commit, even if a newer Draft or release exists. Completed Publications are not repeated.

Returns 202 with the Release. Get the Release until each Publication reaches completed or failed.

A 409 publication_not_retryable means no Publication is queued or failed. A 502 repository_unavailable means the repository publishing workflow could not be dispatched, and nothing was changed.

AuthorizationBearer <token>

Organization API key from the console (ak_...), or an OAuth access token with user:org:read, the organization selected during consent, and the capability required by the operation.

In: header

Path Parameters

release_id*string
Match^rel_[a-z0-9]{16}$

Header Parameters

Idempotency-Key?string

Identifies one logical write for 24 hours. The key is scoped to the authenticated organization and operation; generation without an organization uses a hashed network identity. Retrying the same method, path, query, If-Match header, and JSON body replays the original response. Reusing the key with changed intent returns 409. After expiry the key starts a new write.

Match^[!-~]+$
Length1 <= length <= 255

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/releases/rel_7m2q8v4k1p9d5h6c/retry"
{  "id": "rel_7m2q8v4k1p9d5h6c",  "object": "release",  "target_id": "tgt_5m8q2v7k1p9d4h6c",  "generation_id": "gen_7h2p5d9c3m8w1k6q",  "version": "1.0.0",  "release_channel": "stable",  "origin": "typeship",  "repository": {    "provider": "github",    "identifier": "parcel-example/parcel-client"  },  "spec_revision_id": "srev_6m1q8v4k2p9d7h3c",  "commit_sha": "0123456789abcdef0123456789abcdef01234567",  "checks": [],  "approvals": [],  "import_provenance": null,  "publications": [    {      "id": "pub_6k2q8v4m1p9d5h7c",      "object": "publication",      "release_id": "rel_7m2q8v4k1p9d5h6c",      "type": "github",      "status": "completed",      "attempt": 1,      "run_url": "https://github.com/parcel-example/parcel-client/actions/runs/1001",      "registry_url": "https://github.com/parcel-example/parcel-client/releases/tag/v1.0.0",      "artifact_digest": null,      "errors": [],      "started_at": "2026-09-23T08:01:00Z",      "finished_at": "2026-09-23T08:02:00Z",      "runtime_ms": 60000,      "created_at": "2026-09-23T08:00:00Z",      "updated_at": "2026-09-23T08:02:00Z"    },    {      "id": "pub_2m8q4v7k1p9d5h6c",      "object": "publication",      "release_id": "rel_7m2q8v4k1p9d5h6c",      "type": "npm",      "status": "queued",      "attempt": 1,      "run_url": null,      "registry_url": null,      "artifact_digest": null,      "errors": [],      "started_at": null,      "finished_at": null,      "runtime_ms": null,      "created_at": "2026-09-23T08:00:00Z",      "updated_at": "2026-09-23T09:15:00Z"    }  ],  "created_at": "2026-09-23T08:00:00Z",  "updated_at": "2026-09-23T09:15:00Z",  "request_id": "req_3k8m1v6q9p2d7h4c"}