Aperçu de l'API

Faites tourner votre propre site sur vos données Sway, vendez-y des billets, et soyez informé par Sway dès qu'un changement survient.

L'API publique Sway permet à un crew (une agence, un collectif de promoteurs, une équipe de salle) de faire tourner son propre site web sur ses données Sway. Votre site reste indépendant et ne parle à Sway qu'à travers l'API :

  • Montrez votre roster, vos événements, lineups et timetables, vos salles, actus, partenaires, galeries et press kits.
  • Vendez des billets : ouvrez un paiement Sway depuis votre site, vérifiez d'abord un coupon ou un code d'accès, suivez la commande.
  • Vendez du merch depuis la boutique de vos pages : le catalogue, un panier chiffré par Sway, un paiement Stripe sur le compte de la page.
  • Collectez : demandes de booking, inscriptions à la newsletter, réponses à vos formulaires.
  • Faites tourner votre programme ambassadeurs sur vos propres pages : inscription, connexion par lien e-mail, espace membre, classement, récompenses.
  • Soyez informé des changements au moment où ils arrivent grâce aux webhooks, plutôt que d'interroger l'API toutes les quelques minutes.
  • Interrogez un assistant IA sur vos données grâce au serveur MCP.

URL de base

https://www.sway.events/api/v1

Tous les endpoints sont versionnés sous /v1. Les réponses sont en JSON avec des clés en snake_case, sauf les flux calendrier (text/calendar) et les exports (NDJSON). GET /v1/openapi.json décrit chaque endpoint en OpenAPI 3.1, et GET /v1/changelog liste ce qui a changé et quand.


Qui a accès

L'API vient avec les formules Studio et Roster. Les clés se créent dans Admin crew → API, par quelqu'un qui détient la permission Gérer l'API sur le crew.

Chaque clé appartient à exactement un crew : c'est la clé seule qui décide quelles données vous voyez, jamais un paramètre de requête. Si l'abonnement du crew expire, ses clés cessent de fonctionner jusqu'à sa réactivation.


Ce que votre clé peut voir

Tout ce que renvoie l'API est soit géré, soit public :

NiveauCe qu'il couvreCe que vous obtenez
GéréLes pages liées à votre crew (ses artistes, promoteurs et salles) et leurs événementsLa représentation complète : bio, tous les liens y compris les e-mails de contact, historique des dates
PublicLes pages qui apparaissent dans vos événements sans être les vôtres : un artiste invité au lineup, une salle que vous ne gérez pasSeulement ce que la page publique Sway affiche déjà, marqué "managed": false

Exemple, l'artiste invité. L'événement de votre promoteur programme un artiste qui ne fait pas partie de votre crew. Cet artiste apparaît dans le lineup de l'événement avec les champs publics uniquement (nom, image, genres) et "managed": false. Récupéré directement, GET /v1/artists/{id} répond 404.

Tout ce qui est en dehors des pages de votre crew répond 404, jamais 403 : l'API ne révèle donc rien sur ce que vous ne pouvez pas atteindre.

Les artistes de votre roster sont renvoyés même non publiés : le roster, ce sont vos propres données. Toute autre ressource n'est renvoyée qu'une fois publiée ; les ressources non publiées répondent 404 ou sont omises des lineups.

Démarrage rapide

Vérifiez votre clé et ce qu'elle peut faire :

curl https://www.sway.events/api/v1/me \
  -H "Authorization: Bearer sway_sk_VOTRE_CLE"
{
  "key": {
    "id": "3f9a1c02-7b45-4c8e-9d21-0a1b2c3d4e5f",
    "type": "secret",
    "scopes": ["read:profile", "read:artists", "read:promoters", "read:events", "read:venues", "read:content"],
    "rate_limit": { "per_minute": 120, "per_day": 20000 },
    "limits": {
      "requests_per_minute": 2400,
      "crew_work_per_minute": 600,
      "crew_work_per_day": 120000,
      "bytes_per_day": 5368709120
    },
    "websites": []
  },
  "crew": { "id": "a2628d53-4f21-4c1e-9b7d-1a2b3c4d5e6f", "name": "Insomnia", "slug": "insomnia" }
}

Puis listez vos prochains événements :

curl "https://www.sway.events/api/v1/events?limit=10" \
  -H "Authorization: Bearer sway_sk_VOTRE_CLE"

Une ressource unique revient comme l'objet lui-même ; une liste revient enveloppée dans { "data": [...], "pagination": {...} }.


Pour aller plus loin

Authentification

Clés secrètes et publiques, scopes, limites de débit, cache, erreurs et idempotence.

Référence des endpoints

Chaque endpoint, avec ses paramètres et un exemple de réponse.

Pagination et filtres

Curseurs, filtres, champs, langues et expansion.

Intégration sur votre site

La recette pour faire tourner un site partenaire sur l'API.

Webhooks

Des appels signés vers votre serveur quand une commande est payée ou qu'un événement change.

Serveur MCP

Des outils en lecture seule pour les assistants IA, sur les données de votre crew.