curl "https://api.scanova.io/plans/downgrade-impact/?target_plan=starter-scanova-io" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a"
{
"violations": [
{
"codename": "TOTAL_QR_CODES",
"quota_name": "Total QR Codes",
"exceed_value": 12,
"resolvable": true,
"total_affected_count": 112,
"affected_resources": ["Q07afe81aa0034c01", "Q19bd72cc1145d02"]
}
],
"current_plan_expiry": "2027-08-16",
"days_remaining": 365
}
Analytique et forfaits
Prévisualiser l'impact d'un déclassement de forfait
GET /plans/downgrade-impact/
GET
/
plans
/
downgrade-impact
/
curl "https://api.scanova.io/plans/downgrade-impact/?target_plan=starter-scanova-io" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a"
{
"violations": [
{
"codename": "TOTAL_QR_CODES",
"quota_name": "Total QR Codes",
"exceed_value": 12,
"resolvable": true,
"total_affected_count": 112,
"affected_resources": ["Q07afe81aa0034c01", "Q19bd72cc1145d02"]
}
],
"current_plan_expiry": "2027-08-16",
"days_remaining": 365
}
Prévisualise les ressources qui bloqueraient un déclassement avant de valider le paiement, sur l’hôte de l’API de gestion (
Un tableau
api.scanova.io), authentifié avec votre clé brute d’API de gestion.
GET https://api.scanova.io/plans/downgrade-impact/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
string
requis
Le slug du forfait cible (depuis le champ
slug de Lister les forfaits disponibles).curl "https://api.scanova.io/plans/downgrade-impact/?target_plan=starter-scanova-io" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a"
{
"violations": [
{
"codename": "TOTAL_QR_CODES",
"quota_name": "Total QR Codes",
"exceed_value": 12,
"resolvable": true,
"total_affected_count": 112,
"affected_resources": ["Q07afe81aa0034c01", "Q19bd72cc1145d02"]
}
],
"current_plan_expiry": "2027-08-16",
"days_remaining": 365
}
violations vide signifie que le déclassement est propre pour l’instant — rien n’aurait besoin de changer avant. Ceci est entièrement en lecture seule et ne change rien ; cela réutilise exactement le même moteur de règles que celui appliqué lors du paiement réel, donc cela ne peut pas être en contradiction avec ce qui se passerait réellement en procédant au déclassement.
Champs de la réponse
array
Une entrée par quota que le forfait cible ne peut pas satisfaire compte tenu de l’utilisation actuelle du compte.
Afficher propriétés de violation
Afficher propriétés de violation
string
L’identifiant stable du quota (p. ex.
TOTAL_QR_CODES, SHARED_USERS).string
Nom lisible du quota.
integer
De combien le compte dépasse actuellement la limite du forfait cible.
boolean
Si le compte peut résoudre cela lui-même (p. ex. en supprimant/désactivant certaines ressources) avant de déclasser.
integer
Nombre total de ressources comptabilisées pour ce quota.
array
Identifiants des ressources concrètes comptabilisées (p. ex. valeurs
qrid des QR codes) — peut être un échantillon tronqué pour des volumes élevés.string
La date d’expiration du forfait actuel, ou
null pour un forfait sans expiration.integer | null
Jours restants jusqu’à
current_plan_expiry, ou null si le forfait n’a pas d’expiration.400 si target_plan est manquant.
Voir aussi
- Lister les forfaits disponibles — trouver un
slugpour prévisualiser le déclassement. - Forfait actuel — le forfait actuel et les attributions de quota du compte.
- Présentation de l’API de gestion — le schéma d’authentification et les règles de quota applicables à cet endpoint.
Autorisations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Paramètres de requête
The target plan's slug.
Réponse
Violations that would block the downgrade (empty array if none), plus the current plan's remaining time.
Cette page vous a-t-elle été utile ?