Oracle
Edit Keys
Update an existing Oracle key's name, expiry, HWID/UID limits, premium status, or clear its registered HWIDs and UIDs.
Requirements
- An active membership
- An existing Oracle key owned by your account
Endpoint
POST /api/oracle/keys/editAuthentication
Authenticate using either a session cookie (web) or an API key header:
x-api-key: <your-api-key>Request Body
{
"keyId": "your-key-id",
"name": "My Key",
"expiresAt": "2027-06-01T00:00:00Z",
"maxHwids": 3,
"maxUids": 2,
"clearHwids": true,
"clearUids": false,
"premium": false
}| Field | Type | Required | Description |
|---|---|---|---|
| keyId | string | Yes | The ID of the Oracle key to edit. |
| name | string | null | No | A label for the key (3–32 characters). Pass null or "" to remove the existing name. |
| expiresAt | string | null | No | ISO 8601 datetime. Pass null to remove the expiry (key never expires). Must be a future date if a string. |
| maxHwids | number | null | No | Maximum number of HWIDs allowed (1–10). Pass null for unlimited. |
| maxUids | number | null | No | Maximum number of user IDs allowed (1–10). Pass null for unlimited. |
| clearHwids | boolean | No | If true, wipes all registered HWIDs from the key. |
| clearUids | boolean | No | If true, wipes all registered user IDs from the key. |
| premium | boolean | No | Set or unset the premium flag on the key. |
At least one optional field must be provided: sending only keyId returns a 400.
Response
On success, returns 200 OK:
{
"ok": true
}Error Responses
| Status | Error | Cause |
|---|---|---|
| 400 | keyId is required. | keyId was missing or not a string. |
| 400 | Key name must be between 3 and 32 characters. | name was provided but is outside the allowed length range. |
| 400 | Invalid expiry date. | expiresAt could not be parsed as a valid date. |
| 400 | Expiry date must be in the future. | expiresAt is in the past. |
| 400 | maxHwids must be 1–10 or null for unlimited. | maxHwids was out of range or not a valid integer. |
| 400 | maxUids must be 1–10 or null for unlimited. | maxUids was out of range or not a valid integer. |
| 400 | Nothing to update. | No editable fields were provided in the request body. |
| 401 | Not authenticated. | No session or x-api-key header provided. |
| 401 | Invalid API key. | The provided x-api-key does not match any account. |
| 403 | You are banned. | Your account has been banned. |
| 403 | An active membership is required to use Oracle. | Your membership is expired or not active. |
| 404 | Key not found. | No key with that keyId exists under your account. |
Example
curl -X POST https://soteria.rip/api/oracle/keys/edit \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"keyId": "my-key-123",
"name": "My Key",
"expiresAt": "2027-01-01T00:00:00Z",
"maxHwids": 5,
"clearUids": true
}'
