Guide
Deactivation
Deactivate a machine with POST /api/license/v1/deactivate and clear local activation state.
SoundSync
Endpoint contract
Send product credential headers and the current machine identity.
POST
/api/license/v1/deactivate
Deactivate this machine and release local access.
- Auth
- Product plugin credential. Licensing endpoints require x-ss-app-id, x-ss-plugin-key, and x-ss-plugin-secret headers, or verified body/query aliases.
- Scope
- Product, app, credential, environment, and machine scoped.
- Request fields
- license_key or customer/email entitlement context
- instance_id or machine_id
- Returns
- status deactivated, code DEVICE_DEACTIVATED, remaining_activations.
- Side effects
- Sets deactivated_at on the activation, records an event, and should cause the client to delete local activation state.
SoundSync
Deactivation example
Delete local activation state after success. Pending claim metadata may be kept only if the user is still in a claim flow.
cURL
curl -sS -X POST "$SOUNDSYNC_API_BASE/api/license/v1/deactivate" \
-H "Content-Type: application/json" \
-H "x-ss-app-id: ss_prod_demoapp123" \
-H "x-ss-plugin-key: ss_pk_demokey123" \
-H "x-ss-plugin-secret: ss_ps_demosecret123" \
-d '{
"license_key": "DEMO-SERIAL-0001",
"instance_id": "machine-demo-001",
"product_id": "prod_demo_piano"
}'
SoundSync
Client behavior
Deactivation affects the machine activation, not the serial itself.
| Question | Answer |
|---|---|
| Does it free a device slot? | It marks the activation deactivated and returns remaining activations; policy determines immediate reuse. |
| What should be deleted? | license_key, instance_id-bound activation cache, token, status, activationId, licenseReference, grace fields, subscription/license fields. |
| Does the serial remain valid? | The serial can remain valid unless the serial itself is revoked/deactivated/expired. |
| Can the user reactivate immediately? | Yes when product policy, entitlement, subscription, and device limits allow it. |
| Can deactivation happen offline? | No reliable offline deactivation is documented. Keep UI honest and require a successful online deactivation. |
