GET /api/admin/keys returns a log string array per key — a human-readable audit trail built from generation metadata and every redeem event.
Log line types
- This key is generated by genorder-abc123 at 2026-07-30 09:00:00 GMT
Always present — set at key creation from gen_order_id + created_at
- Key type: plus
Always present — mix or plus from generation
- Key group: july-batch
Present when group was set during generation
- someuser (a1b2c3d4-e5f6-7890-…) redeemed GPTK-911362C45C7BEE6D at 2026-07-30 10:15:00 GMT
from IP: 203.0.113.42Appended on every successful redeem. User name and id come from the EliteKeys auth API. Re-redeems (same or new device) each add a new line.
- Devices seen: 2
Shown once the key has been used — count of distinct device ids seen
- This key was revoked at 2026-07-30 11:00:00 GMT
Added when key is revoked via admin API
Key record fields
{
"key": "GPTK-911362C45C7BEE6D",
"status": "used", // unused | used | revoked
"key_type": "plus", // mix | plus
"group": "july-batch",
"gen_order_id": "genorder-abc123",
"created_at": "2026-07-30 09:00:00 GMT",
"used_at": "2026-07-30 10:15:00 GMT",
"revoked_at": "",
"client_ip": "203.0.113.42", // last redeem IP
"elitekeys_user_id": "uuid", // bound EliteKeys account
"elitekeys_username": "someuser",
"log": [ "…", "…" ]
}Fetch keys from a batch with full log
curl -sS "https://api.gptkeys.eu/api/admin/keys?gen_order_id=genorder-abc123&status=all" \
-H "Authorization: Bearer $GPTKEYS_ADMIN_TOKEN"
Redeem events are stored in key_redeem_events (elitekeys_user_id, elitekeys_username, client_ip, device_id, redeemed_at) and surfaced through log[]. Deleting a key removes its event history.