13.24
Grænser og sikkerhed
API'et er bygget sådan, at en nøgle aldrig kan bruges mod en server, heller ikke hvis den slipper ud. De følgende beskyttelser gælder ved hvert kald.
På hvert endepunkt bliver Premium tjekket allerførst, før nøglen overhovedet bliver slået op, og før nogen grænse bliver talt, så en server uden aktivt abonnement altid får det samme 402-svar i stedet for et halvt udført kald.
- Ingen massenævnelser. I alle beskeder fra API'et (også webhook-beskeder og tags) er
@everyone,@hereog vilkårlige rollenævnelser slået fra. Når en sag oprettes, kan kun panelets valgte rolle og den, der oprettede sagen, blive nævnt. - Ingen falsk identitet. Viste navne på webhooks med reserverede ord som "discord" eller "clyde" bliver skiftet ud, og et eget profilbillede skal være en gyldig
https://-adresse. - Premium er et krav. API'et er en Premium-funktion. Uden et aktivt abonnement svarer hvert kald
402medpremium_required: true, og nye nøgler kan hverken oprettes eller skiftes. - Grænser. Hver nøgle har en grænse pr. handling (for eksempel: opret sag 10 i minuttet, send besked 30 i minuttet, omdøb 2 pr. 10 minutter, skift panel 2 pr. 10 minutter, ret paneler 10 i minuttet, send panel igen 4 pr. 10 minutter, læsning 120 i minuttet). Over grænsen kommer
429med en værdiretry_afteri sekunder. Hent den aktuelle tabel medGET /api/token. - Tunge læsninger har deres egne grænser. Søgning i udskrifter og hentning af HTML-udskrifter får 10 i minuttet hver, og fulde indekserede udskrifter 30 i minuttet, så de aldrig tager af den rundhåndede grænse på 120 læsninger i minuttet. Søgningen kører desuden højst to ad gangen på hele serveren og bliver afbrudt med
504, hvis den overskrider sin tid, så søgetrafik aldrig kan skubbe arbejdet med sagerne til side. - Loft over åbne sager. Når en server har nået sit sikkerhedsloft for åbne sager, opretter API'et ikke flere, og det opretter slet ingen sager for sortlistede brugere.
- Færrest mulige rettigheder. De følsomme rettigheder (Læs sagens beskeder, Se udskrifter, Søg i udskrifter, Hent udskrifter som HTML, Brug tags, Omdøb sager, Håndter paneler, Skift sagens panel) er slået fra som standard og skal slås til med vilje for hver nøgle.
- Læsning af historik bliver logget. Hentning af en fuld HTML-udskrift bliver skrevet i serverens aktivitetslog sammen med den nøgle, der gjorde det, ligesom hver ændring API'et foretager.
- Panelerne hænger sammen med din opsætning. Håndter paneler kan kun ændre et panels udseende (navn, indlejret besked, knapper). Kanaler, kategorier, roller der skal nævnes, formularer og supportteams kan ikke ændres gennem API'et.
- Udløb og udskiftning. Nøgler kan få en udløbsdato, slås fra eller skiftes ud i kontrolpanelet; en udskiftning gør den tidligere hemmelighed ugyldig med det samme.
- Bundet til én server. En nøgle virker kun på den server, hvor den blev oprettet, og hvert kald bliver tjekket mod den server igen.