Freedam

Développeurs · API REST et SDK

Développez avec l'API REST de Freedam

La version de l'API figure dans l'URL, et les requêtes comme les réponses utilisent JSON. Vous vous authentifiez avec des tokens limités aux droits que vous choisissez, et un SDK TypeScript typé, publié sur npm, couvre chaque endpoint.

Ce que couvre l'API

L'API couvre les principaux domaines du produit. Chaque endpoint utilise la même enveloppe JSON, la même pagination et le même format d'erreur.

Médias

Recherchez, lisez, modifiez et supprimez des médias. La recherche combine correspondance plein texte et correspondance sémantique.

Collections

Créez et organisez des collections, et ajoutez ou retirez des médias par lots.

Imports

Importez des fichiers par lots. Freedam recherche les virus, vérifie leur format et lance l'enrichissement par IA.

Partages

Créez des liens de partage signés avec date d'expiration, filigrane, limite de définition et contrôle d'accès.

Métadonnées

Lisez les schémas de champs, les vocabulaires et les listes de termes de votre espace de travail, pour que votre propre interface utilise les mêmes définitions.

Opérations

Lancez des actions groupées de longue durée, suivez leur progression et annulez-les si nécessaire.

Webhooks

Gérez les endpoints de webhooks et consultez l'historique des livraisons avec la même API.

Tokens

Créez, listez et révoquez des tokens d'API via l'API. Chaque token a les droits que vous lui attribuez.

Authentification et scopes

Des tokens limités à ce dont chaque intégration a besoin

Chaque token d'API a une liste explicite de droits. Par exemple, un token utilisé par un script d'import ne peut pas lire votre journal de partages, et un token derrière un catalogue public ne peut pas supprimer de médias. Un nouveau token ne reçoit que les droits que vous sélectionnez.

Authentifiez-vous avec un header standard Authorization: Bearer. Vous pouvez créer des tokens via l'API ou sur la page Paramètres. Chaque token peut envoyer jusqu'à soixante requêtes par minute.

curl -X GET https://{workspace}.freedam.io/api/v1/assets \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

Les quinze droits disponibles

Ne donnez à chaque intégration que ceux dont elle a besoin.

Médias

  • assets:readLister, rechercher et lire des médias
  • assets:writeCréer et modifier des fiches de médias
  • assets:deleteSupprimer des médias, de façon réversible ou définitive
  • assets:downloadRécupérer les fichiers originaux ou générés

Collections

  • collections:readLister et lire des collections
  • collections:writeCréer, modifier, ajouter ou retirer des membres
  • collections:deleteSupprimer des collections

Imports et métadonnées

  • uploads:manageCréer des lots et y ajouter des fichiers
  • metadata:readLire les vocabulaires, les termes et les définitions de champs
  • metadata:writeModifier les valeurs des champs de métadonnées

Partage et statistiques

  • shares:readLire les liens de partage et les journaux d'accès
  • shares:manageCréer, modifier et révoquer des liens de partage
  • analytics:readLire les indicateurs d'utilisation et d'engagement
  • consents:readLire les enregistrements de consentement des personnes

Webhooks

  • webhooks:manageAbonner des endpoints aux événements que vos autres scopes peuvent lire
import { createClient } from '@freedam/sdk';

const client = createClient({
    baseUrl: 'https://{workspace}.freedam.io',
    token: process.env.FREEDAM_TOKEN!,
});

// List recent assets
const { data } = await client.GET('/api/v1/assets', {
    params: { query: { per_page: 24 } },
});
SDK TypeScript

Client TypeScript

Le paquet officiel @freedam/sdk est un client typé avec l'autocomplétion pour chaque endpoint, chaque paramètre et chaque réponse. Il est distribué en ESM et en CJS, fonctionne dans Node et dans les navigateurs récents, et il est mis à jour à chaque version de l'API.

Pour les autres langages, vous pouvez générer un client à partir du document OpenAPI avec l'outil de génération de code que votre équipe préfère.

Autres langages

Le document OpenAPI décrit toute l'API dans un format lisible par une machine : vous pouvez donc développer en Python, Go, Ruby, PHP, C#, Java ou dans un autre langage, en plus du SDK TypeScript. Pour demander un SDK officiel dans un autre langage, contactez-nous.

Développeurs · API REST

Testez une requête dans la référence de l'API

La référence disponible sur /docs/api vous permet d'appeler des endpoints depuis la page avec votre propre token, sur votre propre espace de travail.