API REST publique. Authentification par clé, documentée avec OpenAPI.
Consulte ton catalogue OGRECORDS™ et gère tes Smartlinks et tes releases en brouillon de façon programmatique — via une API REST simple. Authentifie-toi avec une clé API à portée depuis ton tableau de bord. Accès anticipé sur demande.
Aperçu : API REST, clés à portée, limites de taux, OpenAPI
Lire + écrire via REST
Consultez les releases, les tracks, les Smartlinks et les statistiques — et créez ou modifiez vos Smartlinks et vos releases en brouillon — via HTTPS simple. Réponses JSON, pagination avec limit/offset, schémas prévisibles. La distribution et le dépôt restent en dehors de l'API.
Clés API à portée
Authentifie-toi avec une clé ogr_pk_ en tant que jeton Bearer ou dans l’en-tête X-API-Key. Chaque clé a des portées explicites — read:releases, read:smartlinks, read:stats, write:smartlinks, write:releases — et peut être rotée ou révoquée à tout moment depuis le tableau de bord.
Limites de taux + en-têtes
Chaque réponse contient les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Au-delà du quota, retourne 429 avec Retry-After. Les clés gratuites offrent 1 000 requêtes/jour, les clés Business 100 000.
OpenAPI 3.0 auto-hébergé
La spécification entièrement lisible par machine est disponible sous /api/v1/public/openapi.json et s’affiche comme référence interactive sur cette page — aucun hébergement tiers pour la documentation, aucun appel externe.
Les endpoints pour le lancement.
Chaque endpoint est authentifié avec une clé API à portée et est accessible depuis https://api.og-records.com. Les endpoints de lecture, ainsi que les écritures avec portée propriétaire pour les Smartlinks et les releases en brouillon — la distribution et le soumission ne sont pas exposés.
Sois notifié quand un release change de statut.
Enregistre un endpoint HTTPS et nous t'enverrons un événement JSON signé par POST dès qu’un de tes releases est livré, rejeté ou retiré. Tu gères tes endpoints dans le tableau de bord — chacun a son propre secret de signature, affiché une seule fois.
Événements au lancement
- release.delivered — le release a été livré aux magasins.
- release.rejected — un magasin ou une étape de contrôle qualité a rejeté le release.
- release.takedown — le release a été retiré.
- release.live — le release est maintenant en ligne sur les plateformes.
Chaque livraison contient ces en-têtes
- X-Webhook-Signature — HMAC-SHA256 en minuscules hexadécimales du corps brut de la requête, avec ton Signing-Secret comme clé.
- X-Webhook-Timestamp — horodatage au format ISO-8601, identique à created_at dans le corps.
- X-Webhook-Event — le nom de l'événement, par exemple release.delivered.
- X-Webhook-Id — une identifiant unique pour cette livraison.
Le payload est un corps JSON contenant id, event, created_at et un objet data avec release_id. Pour vérifier, calcule à nouveau HMAC-SHA256 sur le corps brut exact avec ton Signing-Secret, compare-le de manière sécurisée avec X-Webhook-Signature, puis vérifie que X-Webhook-Timestamp est dans les cinq dernières minutes pour rejeter les répétitions.
Les livraisons échouées sont réessayées avec un backoff exponentiel. Après 15 échecs consécutifs, le point d'entrée est désactivé automatiquement ; tu dois le réenregistrer pour continuer.
Gérer les webhooks dans ton tableau de bord.
Clés API avec scopes.
Crée une clé dans ton tableau de bord et envoie-la comme en-tête Authorization: Bearer ogr_pk_… ou dans l'en-tête X-API-Key. Chaque clé est scannée — read:releases, read:smartlinks, read:stats, write:smartlinks, write:releases — afin qu'une intégration n'obtienne que ce dont elle a besoin. Les clés sont rotatives et révocables à tout moment. L'accès en écriture est limité au propriétaire et ne déclenche jamais de distribution ; OAuth n'est pas inclus dans ce lancement.
Ce que ton clé peut faire.
Standard pour chaque nouvelle clé. Convient aux tableaux de bord, synchronisations cron et prototypes.
Contingent journalier plus élevé pour les intégrations en production. Sur demande.
Chaque réponse contient X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Si le quota journalier est épuisé, une réponse 429 avec l'en-tête Retry-After est renvoyée — les secondes restantes jusqu'au réinitialisation de la fenêtre.
Construis sur ton catalogue.
L'API publique est en accès anticipé. Écris-nous ce que tu veux construire, et nous activerons des clés API pour ton compte.