Obtenir un jeton, faire un premier appel et retrouver ses comptes : dix minutes pour démarrer avec l'API REST de Grand Shooting.
L'API Grand Shooting est une API REST qui échange du JSON. Elle donne accès aux mêmes données que l'application : Catalogue, Productions, médias, Cahier des charges, stock, diffusion.
https://api.grand-shooting.com/v3Content-Type: application/json), sauf l'upload de fichiers (multipart/form-data)Un jeton (appelé « clé API » dans l'interface) est rattaché à un utilisateur API de votre compte. Un administrateur du compte le crée dans l'administration du compte, menu Équipe > API, avec Ajouter une clé API.
Deux niveaux de droits :
| Droit | Ce qu'il permet |
|---|---|
api | Lecture et écriture |
api_ro | Lecture seule : les requêtes POST, PUT, PATCH et DELETE sont refusées (401) |
Choisissez api_ro dès que l'intégration ne fait que lire (reporting, synchronisation vers un DAM) : en cas de fuite, le jeton ne permet de rien modifier.
Le jeton n'est affiché qu'une seule fois, à sa création : conservez-le dans un coffre-fort de secrets, jamais dans le code. Il n'expire pas : il reste valable tant que l'utilisateur API est actif. Pour le révoquer, bloquez la clé dans Équipe > API.
Le jeton se passe dans l'en-tête Authorization, précédé de Bearer :
curl -H "Authorization: Bearer $GS_TOKEN" https://api.grand-shooting.com/v3/account/me
/account/me décrit l'utilisateur du jeton et les comptes auxquels il a accès. Pour chaque compte, le champ api_host donne l'adresse de l'API à utiliser : la plateforme est répartie sur plusieurs serveurs, et un compte peut être servi par une autre adresse que api.grand-shooting.com (par exemple https://api-19.grand-shooting.com). Lisez api_host au démarrage de votre intégration plutôt que de coder l'adresse en dur.
Lister les Productions du compte :
curl -H "Authorization: Bearer $GS_TOKEN" https://api.grand-shooting.com/v3/production
Chercher les médias validés (picturestatus 50) modifiés depuis le 1er octobre, les plus récents d'abord :
curl -i -H "Authorization: Bearer $GS_TOKEN" \
"https://api.grand-shooting.com/v3/picture?picturestatus=50&date_mod=gte:2026-10-01&sort_by=-date_mod"
L'option -i affiche les en-têtes de la réponse : X-Total-Count donne le nombre total de résultats. La pagination, les filtres et les statuts sont expliqués dans Concepts de l'API.
Créer ou mettre à jour une Référence du Catalogue (la Référence est identifiée par ref : si elle existe, elle est mise à jour) :
curl -X POST -H "Authorization: Bearer $GS_TOKEN" -H "Content-Type: application/json" \
-d '{"ref":"SS26-ROBE-110","smalltext":"Robe bohème"}' \
https://api.grand-shooting.com/v3/reference
Charger une photo sur l'étape Live d'une Production :
curl -X POST -H "Authorization: Bearer $GS_TOKEN" -F "file=@photo.jpg" -F "path=/" \
https://api.grand-shooting.com/v3/production/{bench_root_id}/bench/{bench_id}/upload
Ou faire charger des fichiers par Grand Shooting depuis leurs URL (jusqu'à 200 par appel), en les associant directement à une Référence :
curl -X POST -H "Authorization: Bearer $GS_TOKEN" -H "Content-Type: application/json" \
-d '{"urls":[{"url":"https://cdn.example.com/a.jpg","filename":"a.jpg","ref":"SS26-ROBE-110"}]}' \
https://api.grand-shooting.com/v3/production/{bench_root_id}/bench/{bench_id}/upload/url
Un prestataire (studio, producteur) travaille souvent pour le compte de ses clients. Si le client lui a donné une délégation, son jeton peut agir sur le compte du client : ajoutez l'en-tête account_id avec l'identifiant du compte cible.
curl -H "Authorization: Bearer $GS_TOKEN" -H "account_id: 57" https://api.grand-shooting.com/v3/production
Sans cet en-tête, les requêtes portent sur le compte du jeton. Les comptes accessibles sont listés par /account/me.
L'API vérifie aussi des jetons OAuth, obtenus par une application OAuth : ils se passent avec le préfixe access_token (Authorization: access_token <jeton>) au lieu de Bearer. Le reste de l'API est identique.