Skip to content
Genesis v2.0 and Soteria v7.0 are here. Read the announcement
  • Macros
  • Attributes
  • Obfuscate API
  • Generating Keys with API
  • Editing Keys with API
  • Using the Oracle SDK
  • Setup
  • Commands

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/edit

Authentication

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
}
FieldTypeRequiredDescription
keyIdstringYesThe ID of the Oracle key to edit.
namestring | nullNoA label for the key (3–32 characters). Pass null or "" to remove the existing name.
expiresAtstring | nullNoISO 8601 datetime. Pass null to remove the expiry (key never expires). Must be a future date if a string.
maxHwidsnumber | nullNoMaximum number of HWIDs allowed (1–10). Pass null for unlimited.
maxUidsnumber | nullNoMaximum number of user IDs allowed (1–10). Pass null for unlimited.
clearHwidsbooleanNoIf true, wipes all registered HWIDs from the key.
clearUidsbooleanNoIf true, wipes all registered user IDs from the key.
premiumbooleanNoSet 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

StatusErrorCause
400keyId is required.keyId was missing or not a string.
400Key name must be between 3 and 32 characters.name was provided but is outside the allowed length range.
400Invalid expiry date.expiresAt could not be parsed as a valid date.
400Expiry date must be in the future.expiresAt is in the past.
400maxHwids must be 1–10 or null for unlimited.maxHwids was out of range or not a valid integer.
400maxUids must be 1–10 or null for unlimited.maxUids was out of range or not a valid integer.
400Nothing to update.No editable fields were provided in the request body.
401Not authenticated.No session or x-api-key header provided.
401Invalid API key.The provided x-api-key does not match any account.
403You are banned.Your account has been banned.
403An active membership is required to use Oracle.Your membership is expired or not active.
404Key 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
  }'
Generating Keys with APIUsing the Oracle SDK
SoteriaSoteria

Secure your Luau scripts and accelerate your developer experience.

Products

  • Oracle
  • Genesis

Tools

  • Script Library
  • DevEx Converter
  • FFlags Directory

Docs & Support

  • Documentation
  • Roblox Status
  • Error Codes
  • Runtimes

Company

  • About
  • Blog
  • Discord
  • Contact

Legal

  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Acceptable Use

© 2026 Soteria. All rights reserved.

SoteriaSoteria
Pricing
Get Started