Retry a rejected profile activation
A Profile Activation is the desired profile revision for one Status Display. The Sync tab shows the desired and applied generations, the activation status, and the last error code. The same data is available at GET /v1/mqtt/displays/{id}/profile.
Read the status
- sync_pending — the activation is queued for delivery. The worker republishes the retained envelope until the controller's receipt matches the desired identity.
- device_applied — the controller installed the profile durably and its receipt's active generation, revision ID, and SHA-256 exactly match the desired activation.
- rejected — the controller rejected the desired activation, or bounded delivery exhausted. The error code says why.
A receipt whose result is deferred — for example completion_cache_busy — is not a rejection. The activation stays pending and delivery retries on its normal schedule until capacity becomes available.
Retry
- Open the Sync tab for the display and select Retry, or send:
POST /v1/mqtt/displays/{id}/profile/retry- Retry clears the recorded error and schedules the desired activation for republication. It requires organization admin access.
- Confirm the activation moves back to sync_pending and then device_applied.
If the target has no recorded error, retry returns 409 signal_profile_target_healthy. Retry never fabricates a receipt: only a controller receipt whose active identity exactly matches the desired generation, revision, and hash marks the activation applied.
Error codes
Device receipts carry one bounded error code:
stale_activation— the envelope is older than the admitted generation. Assign again so the desired generation moves forward.activation_conflict— the generation was reused with a different revision or hash. Assign a fresh activation.hash_mismatch— the bytes do not match the envelope hash. Retry; if it repeats, publish a new revision and assign it.profile_too_largeorunsupported_profile_format— the firmware cannot accept the profile. Install the current firmware and check the controller's advertised limits.unsupported_white_output— the profile uses white or CCT output the hardware does not support. Remove those channels or use capable hardware.invalid_program— a program failed device validation. Check the draft rules in Configure a custom signal palette.profile_persist_failed— the controller could not write the candidate bytes or the admission fence. Retry; if it repeats, check controller health.completion_cache_busy— deferred, not rejected. Live completion effects pin the available program slots. The activation retries on its normal schedule; never evict a live completion to admit an edit.profile_fence_recovery_required— the controller could not recover a trustworthy admission fence. The device refuses profile activation until a new Display Binding is established. Re-pair the controller through the authorized rebind flow; the generation floor never silently resets.
A delivery error such as mqtt_profile_publish_timeout means the broker publication itself exhausted its bounded retries, not that the device rejected the profile. Retry republishes the same desired activation.
Related: roll back to a previous revision, troubleshoot an MQTT status display.