{"openapi":"3.1.0","info":{"title":"Xoolink Public API","version":"2026-07-25","description":"API beta en lecture seule pour les organisations Xoolink. Ne placez jamais une clé API dans du code navigateur."},"servers":[{"url":"https://xoolink.com/api/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/organization":{"get":{"summary":"Lire la fiche publique de l’organisation liée à la clé","tags":["Organizations"],"x-required-scope":"organization:read","responses":{"200":{"description":"Organisation publique"},"401":{"description":"Clé invalide"},"403":{"description":"Scope manquant"},"429":{"description":"Limite dépassée"}}}},"/opportunities":{"get":{"summary":"Lister les occasions publiques récentes","tags":["Opportunities"],"x-required-scope":"opportunities:read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Page d’occasions publiques"},"401":{"description":"Clé invalide"},"403":{"description":"Scope manquant"},"429":{"description":"Limite dépassée"}}}},"/opportunities/{id}":{"get":{"summary":"Lire une occasion publique précise","tags":["Opportunities"],"x-required-scope":"opportunities:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":120}}],"responses":{"200":{"description":"Occasion publique"},"401":{"description":"Clé invalide"},"403":{"description":"Scope manquant"},"404":{"description":"Occasion absente ou non publique"},"429":{"description":"Limite dépassée"}}}},"/events":{"get":{"summary":"Lister les événements publics","tags":["Events"],"x-required-scope":"events:read","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Page d’événements publics"},"401":{"description":"Clé invalide"},"403":{"description":"Scope manquant"},"429":{"description":"Limite dépassée"}}}},"/events/{id}":{"get":{"summary":"Lire un événement public précis","tags":["Events"],"x-required-scope":"events:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":120}}],"responses":{"200":{"description":"Événement public"},"401":{"description":"Clé invalide"},"403":{"description":"Scope manquant"},"404":{"description":"Événement absent ou non public"},"429":{"description":"Limite dépassée"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"xool_live_…"}}}}