Skip to main content

Edit a license

PATCH /api/reseller/licenses/:key

Updates an existing license. Send at least one of the two editable fields.

Parameters

FieldTypeNotes
maxSlotsnumberConcurrent servers allowed. Must be zero or greater.
expiresAtISO 8601 string | nullNew expiry. null clears it (never expires).
What you can change

maxSlots and expiresAt are the editable fields. note and discordId are fixed after creation — set them correctly in the create call.

Request

curl -X PATCH https://api.nexalab.fr/api/reseller/licenses/NXG-8F3A-B1C0-D4E5 \
-H "X-Reseller-Key: $RESELLER_KEY" \
-H "Content-Type: application/json" \
-d '{"maxSlots": 3, "expiresAt": null}'

Response 200 OK

{
"ok": true,
"license": {
"key": "NXG-8F3A-B1C0-D4E5",
"scriptId": "nx-garage",
"maxSlots": 3,
"expiresAt": null,
"revoked": false,
"updatedAt": "2026-07-28T12:31:09.774Z"
}
}

Common operations

Renew a subscription — push the expiry forward:

curl -X PATCH https://api.nexalab.fr/api/reseller/licenses/NXG-8F3A-B1C0-D4E5 \
-H "X-Reseller-Key: $RESELLER_KEY" -H "Content-Type: application/json" \
-d '{"expiresAt": "2026-09-28T00:00:00.000Z"}'

Upgrade to a lifetime license:

{ "expiresAt": null }

Sell an extra server slot:

{ "maxSlots": 2 }

Unblock a customer who can't activate on a new server — raising the slot count by one is the fastest resolution:

{ "maxSlots": 3 }

Reducing maxSlots

Lowering the limit does not kick anyone off. Servers already using the license keep working; no new server can activate until enough slots free up naturally. If you downgrade a customer, expect the change to take effect gradually rather than instantly.

Errors

StatuserrorCause
400no_fieldsNeither maxSlots nor expiresAt was supplied.
400invalid_fieldmaxSlots is negative or not a number.
403forbiddenMissing, invalid or disabled reseller key.
404not_foundUnknown license, or it does not belong to you.

PATCH is safe to retry — applying the same values twice has no additional effect.