<div data-theme-toc="true"> </div>
# API di Discourse
Si prega di consultare il sito della Documentazione API di Discourse per informazioni dettagliate:
https://docs.discourse.org
> ## :information_source: Autenticazione
> **Le richieste API devono utilizzare l'autenticazione basata sulle intestazioni HTTP.** Passa la tua `Api-Key` e `Api-Username` come intestazioni HTTP. L'autenticazione tramite parametri di query o corpo della richiesta non è supportata (questa funzionalità è stata rimossa nell'aprile 2020). Si prega di vedere l'esempio di richiesta cURL di seguito.
>
> Le uniche endpoint API che continuano a supportare le credenziali nei parametri di query sono le richieste ai feed RSS, all'endpoint del ricevitore di posta e alle route ICS.
Il Content-Type può essere impostato su "application/x-www-form-urlencoded", "multipart/form-data" o "application/json".
Ecco un esempio di richiesta POST tramite cURL:
```text
curl -X POST "http://127.0.0.1:3000/categories" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
-H "Api-Username: discourse1" \
-F "name=89853c20-4409-e91a-a8ea-f6cdff96aaaa" \
-F "color=49d9e9" \
-F "text_color=f0fcfd"
Puoi utilizzare l’API tramite comandi cURL, ma ti consigliamo di utilizzare la gem discourse_api in modo da poter usare Ruby.
Ingegnerizzazione inversa degli endpoint API
Non tutti gli endpoint sono documentati, ma puoi vedere un esempio di richiesta e risposta API per qualsiasi endpoint seguendo questa guida:
Limiti di velocità globali e throttling in Discourse
Discourse viene fornito con 3 diversi limiti di velocità globali che possono essere configurati dagli amministratori del sito. Per maggiori dettagli su questi limiti, consulta: