Set discount code active status
Activate or deactivate a discount code.
Discount Codes
PATCH
/api/v1/scent/discount-codes/{id}/activeThe ONLY mutation a discount code supports after creation — every other field (the code string, discount type/value, validity window, caps, scope, minimum order value) is immutable for the life of the code (deactivate + create a new one instead of editing a term). This is also how you retire a code that has already been redeemed at least once, since a redeemed code can never be deleted.
Path parameters
idstring (uuid)RequiredBody parameters
isActivebooleanRequiredRequired. true activates, false deactivates. A body without isActive returns 400 VALIDATION_ERRORS and changes nothing.
Response
idstring (uuid)isActivebooleanOther responses
400Request validation failed.401No bearer token (UNAUTHORIZED_MISSING_TOKEN), an invalid token (UNAUTHORIZED_INVALID_TOKEN) or an expired one (UNAUTHORIZED_TOKEN_EXPIRED — mint a new token). UPSTREAM_AUTH_FAILED is different: a dependent service refused the Gateway itself. That is a server-side fault — retry later and do NOT re-mint your token. See the Errors guide.403The route is not available to your credential (FORBIDDEN).404Unknown code (or it belongs to another account).415The request body is not sent as application/json (UNSUPPORTED_MEDIA_TYPE).429Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).502A dependent service returned an invalid response (BAD_GATEWAY). Retry with backoff.503The service is temporarily unavailable (SERVICE_UNAVAILABLE). Retry with backoff.504A dependent service did not respond in time (GATEWAY_TIMEOUT). Retry with backoff.curl --request PATCH \ --url https://api-omni.linra.net/api/v1/scent/discount-codes/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b/active \ --header 'Authorization: Bearer $TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "isActive": true }'const res = await fetch('https://api-omni.linra.net/api/v1/scent/discount-codes/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b/active', { method: 'PATCH', headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ isActive: true }),});const { payload } = await res.json();var response = await httpClient.PatchAsJsonAsync( "https://api-omni.linra.net/api/v1/scent/discount-codes/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b/active", new { isActive = true });
var envelope = await response.Content.ReadFromJsonAsync<ApiResponse<object>>();Response
{ "state": "SUCCESS", "payload": { "id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b", "isActive": true }, "details": null}
