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

Generate Keys

Generate a new Oracle key tied to a specific service. Keys authenticate requests when invoking any Oracle script under that service via API.

Requirements

  • An active membership
  • An existing Oracle service owned by your account

Endpoint

POST /api/oracle/keys/generate

Authentication

Authenticate using either a session cookie (web) or an API key header:

x-api-key: <your-api-key>

Request Body

{
  "serviceId": "your-service-id",
  "name": "My Key",
  "expiresAt": "2026-12-31T23:59:59Z"
}
FieldTypeRequiredDescription
serviceIdstringYesThe ID of the Oracle service to bind this key to. The key will work for all scripts under that service.
namestringNoA label for the key (3–32 characters). Omit or pass null for no name.
expiresAtstringNoISO 8601 datetime. If omitted, the key never expires. Must be a future date.
maxHwidsnumberNoMaximum number of HWIDs this key can be locked to (1–10). Omit for unlimited.
maxUidsnumberNoMaximum number of Roblox UIDs this key can be locked to (1–10). Omit for unlimited.
premiumbooleanNoMark this key as premium. Defaults to false.

Response

On success, returns 200 OK:

{
  "key": "a3f9c2e1b4d7..."
}
FieldTypeDescription
keystringThe generated key (64-character hex string).

Error Responses

StatusErrorCause
400serviceId is required.serviceId 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.
400maxUids must be 1–10 or null for unlimited.maxUids was out of range.
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.
404Service not found.No service with that serviceId exists under your account.
429Too many requests. Slow down.Exceeded 20 key generations per minute.

Example

curl -X POST https://soteria.rip/api/oracle/keys/generate \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "serviceId": "my-service-id",
    "name": "My Key",
    "expiresAt": "2027-01-01T00:00:00Z"
  }'
Obfuscate APIEditing Keys with API
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