Référence

Référence API

Endpoints REST destinés aux développeurs et actuellement pris en charge par un nœud Lyra.

Contrat OpenAPI interactif

La référence consultable est générée depuis les tables de routes REST et d’authentification. Elle publie chaque opération publique prise en charge et exclut volontairement les routes d’administration, du port de modération, de fédération et des services internes. Téléchargez le document OpenAPI 3.1 pour générer du code, tester le contrat ou configurer un client API.

Une seule source de vérité

La CI régénère le contrat et échoue si le document commité diverge de la table de routes du serveur.

Conventions

Les endpoints REST utilisent https://beta.lyra.social/api/v1. L’authentification utilise https://beta.lyra.social/auth et le Gateway temps réel wss://beta.lyra.social/ws. Les requêtes et réponses sont en JSON sauf indication contraire.

json
{
  "error": {
    "code": "FORBIDDEN",
    "message": "You do not have permission to perform this action"
  }
}

Surface d’intégration prise en charge

Cette référence couvre les endpoints destinés aux applications, bots et webhooks. Les endpoints internes du client web ne constituent pas un contrat tiers stable.

Ressources principales des SDK

Ces endpoints forment la surface REST stable utilisée par les ressources des SDK officiels. Leur accès reste soumis à l’appartenance aux communautés, aux rôles et aux permissions des salons.

MéthodeCheminFonction
GET/users/@meLire l’identité authentifiée
GET/users/:user_idLire un profil utilisateur public
GET/users/@me/guildsLister les communautés rejointes
GET/guilds/:guild_idLire une communauté
GET/guilds/:guild_id/channelsLister les salons visibles
GET/channels/:channel_idLire un salon
GET/channels/:channel_id/messagesLister l’historique des messages
POST/channels/:channel_id/messagesEnvoyer un message
PATCH/channels/:channel_id/messages/:message_idModifier un message possédé
DELETE/channels/:channel_id/messages/:message_idSupprimer un message possédé ou modéré
POST/channels/:channel_id/typingPublier un indicateur de saisie

Applications et bots

MéthodeCheminAuthentification
GET/applicationsPropriétaire Bearer
POST/applicationsPropriétaire Bearer
GET/applications/:app_idPropriétaire Bearer
GET/applications/:app_id/publicPublic si public_bot est activé
PATCH/applications/:app_idPropriétaire Bearer
DELETE/applications/:app_idPropriétaire Bearer
GET/applications/:app_id/botPropriétaire Bearer
PATCH/applications/:app_id/botPropriétaire Bearer
POST/applications/:app_id/bot/reset-tokenPropriétaire Bearer
GET/applications/:app_id/bot/invite-urlPropriétaire Bearer
POST/guilds/:guild_id/bot-authorizeBearer humain + MANAGE_GUILD

Commandes et interactions

MéthodeCheminAuthentification
GET/applications/:app_id/commandsPropriétaire Bearer
POST/applications/:app_id/commandsPropriétaire Bearer
PUT/applications/:app_id/commandsPropriétaire Bearer
DELETE/applications/:app_id/commands/:cmd_idPropriétaire Bearer
GET/guilds/:guild_id/commandsBearer ou Bot
GET/guilds/:guild_id/commands/:app_idBearer ou Bot
PUT/guilds/:guild_id/commands/:app_idPropriétaire Bearer
POST/interactions/:interaction_id/callbackBot
POST/interactions/modal-submitUtilisateur Bearer

Webhooks

MéthodeCheminAuthentification
GET/guilds/:guild_id/webhooksBearer + permission
POST/guilds/:guild_id/webhooksBearer + permission
GET/webhooks/:webhook_idBearer + permission
PATCH/webhooks/:webhook_id/:tokenJeton du webhook
DELETE/webhooks/:webhook_id/:tokenJeton du webhook
POST/webhooks/:webhook_id/:tokenJeton du webhook
POST/webhooks/:webhook_id/:token/reset-tokenJeton du webhook

Observabilité des applications

La console développeur journalise les appels REST authentifiés par Bot sans conserver les adresses IP clientes. Les propriétaires peuvent consulter les requêtes paginées et un résumé borné sur 24 heures du trafic, des erreurs, de la latence, des statuts et de la santé des livraisons webhook sortantes. Les données sont conservées 30 jours.

MéthodeCheminFonction
GET/applications/:app_id/api-logsJournal paginé des requêtes Bot
GET/applications/:app_id/metricsMétriques API et livraisons sur 24 heures

Erreurs et limites de débit

Les erreurs utilisent une enveloppe stable { error: { code, message } }. Une réponse 429 comprend Retry-After : attendez cette durée et ajoutez un léger aléa avant de réessayer. Ne relancez pas automatiquement les erreurs de validation ou de permission.

StatutSignification
400Saisie ou état invalide
401Authentification absente ou invalide
403Authentifié mais interdit
404Ressource absente ou masquée
409Conflit avec l’état actuel
429Limite de débit dépassée
500Erreur serveur inattendue