Skip to content
localisyncDocs
Open panel

Withdraw a publication with compatible coverage

Owner/Admin, active workspace and project required. Permissions are checked again before commit.

POST /api/v1/workspaces/{workspaceId}/projects/{projectId}/distributions/{id}/channels/{channel}/publications/{publicationId}/rollback

Operation: rollbackPublication · Download OpenAPI

Requires an authenticated Localisync panel session. The API checks current membership and permissions for workspace operations. See authentication and request rules.

sessionCookie

{
"type": "apiKey",
"in": "cookie",
"name": "__Host-localisync-session",
"description": "The local HTTP exception uses the configured development session cookie."
}
Name Location Required Description
workspaceId path Yes See constraints below.
projectId path Yes See constraints below.
id path Yes See constraints below.
channel path Yes See constraints below.
publicationId path Yes See constraints below.
Origin header Yes Must equal the configured panel origin.
X-CSRF-Token header Yes Session-bound token from auth/me.
Idempotency-Key header Yes Reuse with the identical request after a lost response. Different content returns 409.
{
"type": "string",
"format": "uuid"
}
{
"type": "string",
"format": "uuid"
}
{
"type": "string",
"format": "uuid"
}
{
"type": "string",
"enum": [
"preview",
"production"
]
}
{
"type": "string",
"format": "uuid"
}
{
"type": "string",
"format": "uri"
}
{
"type": "string"
}
{
"type": "string",
"format": "uuid"
}

Required: Yes.

Schema reference: PublicationInput.

Field Type Required Constraints / description
previewId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
tested boolean No default: false
{
"$ref": "#/components/schemas/PublicationInput"
}

Accepted. Poll the operation until both servers acknowledge activation or preparation completes.

Content type: application/json Schema reference: ReleaseJob.

Field Type Required Constraints / description
id string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
actorId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
releaseId See schema Yes —
distributionId See schema Yes —
channel See schema Yes —
kind build, publish, rollback, policy Yes —
state queued, preparing, activating, partial, completed, failed, conflict, cancelled Yes —
version number Yes —
committedAt See schema Yes —
preparations object Yes —
receipts object Yes —
errorCode string or null Yes —
createdAt string Yes format: "date-time"; pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
updatedAt string Yes format: "date-time"; pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
{
"$ref": "#/components/schemas/ReleaseJob"
}

Invalid fields or content.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Sign in required.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Current role does not permit the operation.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Resource unavailable within current scope.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Stale version, pending activation or unmet publication prerequisite.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Request limit exceeded.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Request rate limit exceeded.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

A dependency is unavailable; no success is reported.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string Yes format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
{
"$ref": "#/components/schemas/Error"
}

Request errors and safe retries · Troubleshooting

Cookie preferences

Your choice applies to localisync.com and docs.localisync.com. You can change it at any time using Cookie settings.