Skip to content

Usage and billing

Les exemples utilisent $SPAVIK_BASE_URL et $SPAVIK_API_KEY, définis dans Démarrer.

POST /v1/billing/checkout

Souscrire à un plan (session Stripe)

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Corps de la requête

NomTypeDescription
planbuild | pro | growthrequis

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.

Exemple

sh
curl -X POST "$SPAVIK_BASE_URL/v1/billing/checkout" \
  -H 'X-API-Key: sk-spv-api-...' \
  -H 'Content-Type: application/json' \
  -d '{
  "plan": "pro"
}'

POST /v1/billing/credits

Recharger votre solde de prédictions

Achète un bloc de prédictions au tarif du plan (multiples de 100). Le solde prend le relais une fois le volume mensuel consommé, pour que l'API continue de répondre au lieu de s'arrêter en cours de mois. Rend une URL de paiement Stripe ; le solde est crédité à l'encaissement, pas à la demande.

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Corps de la requête

NomTypeDescription
unitsintegerrequis

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.
409Ce plan n'a pas de prix unitaire (contrat Enterprise).

Exemple

sh
curl -X POST "$SPAVIK_BASE_URL/v1/billing/credits" \
  -H 'X-API-Key: sk-spv-api-...' \
  -H 'Content-Type: application/json' \
  -d '{
  "units": 1000
}'

POST /v1/billing/portal

Ouvrir le portail de facturation Stripe

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Réponses

CodeDescription
200Succès
400NO_BILLING_ACCOUNT : ce compte n'a jamais souscrit, il n'y a rien à gérer.
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.

Exemple

sh
curl -X POST "$SPAVIK_BASE_URL/v1/billing/portal" \
  -H 'X-API-Key: sk-spv-api-...'

GET /v1/billing/subscription

Abonnement et solde

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.

Exemple

sh
curl -X GET "$SPAVIK_BASE_URL/v1/billing/subscription" \
  -H 'X-API-Key: sk-spv-api-...'

PATCH /v1/billing/subscription

Changer de plan

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Corps de la requête

NomTypeDescription
planbuild | pro | growthrequis

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.
409Aucun abonnement actif.

Exemple

sh
curl -X PATCH "$SPAVIK_BASE_URL/v1/billing/subscription" \
  -H 'X-API-Key: sk-spv-api-...' \
  -H 'Content-Type: application/json' \
  -d '{
  "plan": "growth"
}'

DELETE /v1/billing/subscription

Résilier à la fin de la période

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.
409Aucun abonnement actif.

Exemple

sh
curl -X DELETE "$SPAVIK_BASE_URL/v1/billing/subscription" \
  -H 'X-API-Key: sk-spv-api-...'

POST /v1/integrations/stripe/webhook

Webhook Stripe entrant

Appelé par Stripe, jamais par un client : le corps est signé (Stripe-Signature) et vérifié sur les octets bruts. Un fournisseur par route, chacun avec sa signature et son format. Les webhooks SORTANTS, ceux que vous enregistrez, vivent sous /v1/webhooks.

Authentification : Route publique, aucune authentification

Réponses

CodeDescription
200Succès
400Signature invalide.

Exemple

sh
curl -X POST "$SPAVIK_BASE_URL/v1/integrations/stripe/webhook" \
  -H 'X-API-Key: sk-spv-api-...'

GET /v1/plans

Grille tarifaire publique

Authentification : Route publique, aucune authentification

Réponses

CodeDescription
200Succès

Exemple

sh
curl -X GET "$SPAVIK_BASE_URL/v1/plans" \
  -H 'X-API-Key: sk-spv-api-...'

GET /v1/requests

Journal des requêtes (appels réussis et échoués)

Les appels du workspace actif, du plus récent au plus ancien. status=error ne garde que les échecs : de quoi retrouver un rejet survenu en production sans avoir à le reproduire. Fenêtre par défaut : 7 jours (30 au maximum).

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Paramètres

NomTypeDescription
fromquerystringfacultatif
toquerystringfacultatif
statusqueryall | errorfacultatif
limitqueryintegerfacultatif

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.
503REQUEST_LOG_UNAVAILABLE : le journal des requêtes (BigQuery) n'a pas pu être lu.

Exemple

sh
curl -X GET "$SPAVIK_BASE_URL/v1/requests" \
  -H 'X-API-Key: sk-spv-api-...'

GET /v1/usage

Consommation du compte

Authentification : Clé d'usage (X-API-Key) ou session web (Authorization: Bearer)

Paramètres

NomTypeDescription
fromquerystringfacultatif
toquerystringfacultatif
workspace_idquerystringfacultatif

Réponses

CodeDescription
200Succès
401Authentification requise, ou jeton invalide.
403Cet appelant n'est pas autorisé à faire cette action.
503USAGE_UNAVAILABLE : le journal d'usage (BigQuery) n'a pas pu être lu.

Exemple

sh
curl -X GET "$SPAVIK_BASE_URL/v1/usage" \
  -H 'X-API-Key: sk-spv-api-...'

Documentation générée pour partie depuis le contrat OpenAPI.