API
API documentation
The guild API provides selected guild data to trusted tools without granting write access. Every route is GET and every response is JSON.
Create and protect a key
Authorized officers create a key on the guild site under Interface. Select only the read rights the client needs. The complete secret is shown once; store it like a password, never embed it in a public browser bundle and revoke it immediately if it leaks.
Authentication and first request
The base URL is https:/loot.rocks/api/v1. Send the key in the Authorization header as Bearer lgv1_…. Calling the root verifies the key and returns its guild, name and capabilities.
curl --request GET "https:/loot.rocks/api/v1" \
--header "Authorization: Bearer lgv1_…"
Responses and pagination
List routes return up to 50 rows in data. If has_more is true, pass next_cursor unchanged as cursor on the next request. Cursors are opaque and tied to their route and filters. Discord IDs are JSON strings so JavaScript does not lose precision. Responses use Cache-Control: no-store. division selects one division, division=none selects guild-wide records only, and omitting it includes all permitted divisions.
{
"guild_id": "123456789012345678",
"page_size": 50,
"has_more": true,
"next_cursor": "opaque-value",
"data": []
}
Status codes and limits
400— Unknown or duplicate parameters, an invalid filter or cursor.401— Missing, invalid or revoked key; includes WWW-Authenticate: Bearer realm="guild-api".403— The key lacks the read right named by the route.404— The required guild module is switched off or the resource is unavailable.429— More than 60 requests per 60 seconds for this key; observe Retry-After.503— The API or its storage is temporarily unavailable.
Read rights
applications.read— Bewerbungen lesenevents.read— Events lesenmembers.read— Mitglieder lesentasks.read— Aufträge lesenloot.read— Loot lesenanalytics.read— Führungszahlen lesenunits.read— Bereiche lesenattendance.read— Anwesenheit lesenabsence.read— Abwesenheiten lesenships.read— Schiffe leseninventory.read— Gildeninventar lesenproofs.read— Beweisbilder lesenforms.read— Formulare und Umfragen lesenrequests.read— Anträge lesentickets.read— Tickets lesenalliances.read— Allianzen lesenledger.read— Kasse lesen
Endpoints
| Path | Read right | Module | Query | Content |
|---|---|---|---|---|
/api/v1 | — | — | — | Any valid key. Response: version, guild_id, name, capabilities. |
/api/v1/members | members.read | guild_roster | cursor, division | Member profiles and organization data. |
/api/v1/events | events.read | events | cursor | Events with time, status and metadata. |
/api/v1/teams | units.read | guild_teams | cursor, division | Teams, divisions and units. |
/api/v1/attendance | attendance.read | guild_attendance | cursor, user_id | Event attendance and participation. |
/api/v1/absences | absence.read | guild_roster | cursor, user_id | Reported absences. |
/api/v1/forms | forms.read | guild_recruit | cursor | Forms, fields and surveys. |
/api/v1/requests | requests.read | guild_recruit | cursor | Submitted applications and requests. |
/api/v1/tickets | tickets.read | tickets | cursor, division | Tickets with status and assignment. |
/api/v1/alliances | alliances.read | — | cursor | Alliances, with no extra module switch. |
/api/v1/alliance-operations | alliances.read | — | status | Approval status for shared events, tasks, and loot sessions. |
/api/v1/ledger | ledger.read | guild_ledger | cursor, division | Ledger entries with currency context. |
/api/v1/ships | ships.read | star_citizen | cursor | Guild and member ships. |
/api/v1/inventory | inventory.read | guild_inventory | cursor, kind, division | Inventory items and guild ships. |
/api/v1/loot-sessions | loot.read | loot | cursor, division | Loot sessions with status and totals. |
/api/v1/proofs | proofs.read | — | proof_id, cursor, subject_kind, subject_id | Proof images, with no extra module switch. |