Usage and billing
Les exemples utilisent
$SPAVIK_BASE_URLet$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
| Nom | Type | Description | |
|---|---|---|---|
plan | build | pro | growth | requis |
Réponses
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
Exemple
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
| Nom | Type | Description | |
|---|---|---|---|
units | integer | requis |
Réponses
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
409 | Ce plan n'a pas de prix unitaire (contrat Enterprise). |
Exemple
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
| Code | Description |
|---|---|
200 | Succès |
400 | NO_BILLING_ACCOUNT : ce compte n'a jamais souscrit, il n'y a rien à gérer. |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
Exemple
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
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
Exemple
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
| Nom | Type | Description | |
|---|---|---|---|
plan | build | pro | growth | requis |
Réponses
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
409 | Aucun abonnement actif. |
Exemple
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
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
409 | Aucun abonnement actif. |
Exemple
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
| Code | Description |
|---|---|
200 | Succès |
400 | Signature invalide. |
Exemple
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
| Code | Description |
|---|---|
200 | Succès |
Exemple
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
| Nom | Où | Type | Description | |
|---|---|---|---|---|
from | query | string | facultatif | |
to | query | string | facultatif | |
status | query | all | error | facultatif | |
limit | query | integer | facultatif |
Réponses
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
503 | REQUEST_LOG_UNAVAILABLE : le journal des requêtes (BigQuery) n'a pas pu être lu. |
Exemple
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
| Nom | Où | Type | Description | |
|---|---|---|---|---|
from | query | string | facultatif | |
to | query | string | facultatif | |
workspace_id | query | string | facultatif |
Réponses
| Code | Description |
|---|---|
200 | Succès |
401 | Authentification requise, ou jeton invalide. |
403 | Cet appelant n'est pas autorisé à faire cette action. |
503 | USAGE_UNAVAILABLE : le journal d'usage (BigQuery) n'a pas pu être lu. |
Exemple
curl -X GET "$SPAVIK_BASE_URL/v1/usage" \
-H 'X-API-Key: sk-spv-api-...'