Abonnements
Basis-URL: https://app.neuroflash.com/api/workspace-service
Zeigen Sie das aktuelle Abonnement für einen Arbeitsbereich an.
aktuelles Abonnement für einen Arbeitsbereich abrufen
GET
/v1/workspaces/{workspaceId}/subscriptions/{subscriptionId}Pfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspaceId | string | Ja | Arbeitsbereichs-ID |
Antwort
FeldTypBeschreibung
_embeddedobject
availableWordsintegerveraltet: entfernen, sobald das Frontend dies nicht mehr benötigtnewPricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in bestehenden und neuen Abonnements konfiguriert werden kannbillingIntervalstringcategoryIdstringID der Kategorie, zu der dieser Tarif gehörtdisplayNamestringName für interne Zwecke wie die Admin-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werdenidstringID des TarifsimportedFromLegacyIdintegerisDefaultbooleanIst dies der Standard-Tarif für neue Kunden?priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen musspricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu GleitkommawertenstripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden könnenstripePriceIdstringID des Preises in StripestripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werdentierintegertrialDaysintegerwie viele Testtage für diesen Tarif zulässig sindpricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in bestehenden und neuen Abonnements konfiguriert werden kannbillingIntervalstringcategoryIdstringID der Kategorie, zu der dieser Tarif gehörtdisplayNamestringName für interne Zwecke wie die Admin-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werdenidstringID des TarifsimportedFromLegacyIdintegerisDefaultbooleanIst dies der Standard-Tarif für neue Kunden?priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen musspricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu GleitkommawertenstripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden könnenstripePriceIdstringID des Preises in StripestripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werdentierintegertrialDaysintegerwie viele Testtage für diesen Tarif zulässig sindpricingPlanCategoryobject
displayNamestringidstringtranslationKeystringactivebooleanFlag, das angibt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert sind oder mehr Mitglieder als der aktuelle Tarif zulässtactiveDiscountsarray<string>schreibgeschützt von Stripe synchronisiert: wahr, wenn ein Rabatt für dieses Stripe-Abonnement aktiv istavailableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich im aktuellen Abrechnungszeitraum noch verwendet werden könnenbonusWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur VerwendungcreatedAtstringcreatedByUserIdstringcurrencystringendDatestringschreibgeschützt von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wirdidstringimportedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, während der Import aus der Legacy-API noch aktiv istisGracePeriodbooleanwahr, wenn das Abonnement zu einem festgelegten Datum in der Zukunft storniert wirdisTrialbooleanwahr, wenn dies derzeit ein Testzeitraum istlimitRenewalDatestringnächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht monatlich, beginnend mit dem Start des AbonnementsnextSubscriptionCycleStartstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für den Start des nächsten Abrechnungszyklus. Dies ist NICHT unbedingt der Zeitstempel, zu dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan istpaymentCardNumberLastFourDigitsstringschreibgeschützt von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten RechnungpaymentMethodCardBrandstringpaymentPausedbooleanschreibgeschützt von Stripe synchronisiert: wahr, wenn die Zahlungserfassung für dieses Abonnement derzeit unterbrochen ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und nur kostenlos sind, behandeln wir Abonnements mit unterbrochener Zahlung als inaktivpaymentTypestringpricingPlanIdstringpricingPlanWordsintegerveraltet: diese Felder werden intern verwaltet, werden aber in die Limit-Struktur verschoben veraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter der Tarif aus diesem Abonnement zulässtsepaPaymentFailedbooleanschreibgeschützt von Stripe synchronisiert: Flag, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen istspilloverWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Wird verwendet, um die verfügbaren Wörter nächsten Monat zu berechnen, da Sie nur überschüssige Wörter aus dem letzten Monat behalten können, nicht über mehrere Monate hinweg sammeln Wörter aus dem Vormonat übertragenstripeStatusstringstripeSubscriptionIdstringStripe-Abonnement-IDstripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)trialEndsAtstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für das Ende des TestzeitraumstrialStartedAtstringschreibgeschützt von Stripe synchronisiert: wenn ein Test läuft, Datum, an dem er begonnen hatupdatedAtstringusedWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter wurden in diesem Arbeitsbereich im aktuellen Monat verwendetworkspaceIdstringID des Arbeitsbereichs, zu dem dieses Abonnement gehörtBeispiel
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/workspace-service/v1/workspaces/${workspaceId}/subscriptions/${subscriptionId}`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/workspace-service/v1/workspaces/"+workspaceID+"/subscriptions/"+subscriptionID+"", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Antwort:
{
"_embedded": {
"availableWords": 500,
"newPricingPlan": {
"active": false,
"billingInterval": "day",
"categoryId": "18d0035a-5850-4bf4-8d5d-3dc8684e2bb2",
"displayName": "Business Pro with 3 members",
"id": "18d0045a-5850-4bf4-8d5d-3dc8684e2bb2",
"importedFromLegacyId": 0,
"isDefault": true,
"priceInEuro": 24.5,
"pricePerCurrency": {},
"stripeBillingPortalEnabled": false,
"stripePriceId": "price_123",
"stripeTrackUsage": false,
"tier": 5,
"trialDays": 7
},
"pricingPlan": {
"active": false,
"billingInterval": "day",
"categoryId": "18d0035a-5850-4bf4-8d5d-3dc8684e2bb2",
"displayName": "Business Pro with 3 members",
"id": "18d0045a-5850-4bf4-8d5d-3dc8684e2bb2",
"importedFromLegacyId": 0,
"isDefault": true,
"priceInEuro": 24.5,
"pricePerCurrency": {},
"stripeBillingPortalEnabled": false,
"stripePriceId": "price_123",
"stripeTrackUsage": false,
"tier": 5,
"trialDays": 7
},
"pricingPlanCategory": {
"displayName": "string",
"id": "string",
"translationKey": "string"
}
},
"active": true,
"activeDiscounts": [
"string"
],
"availableWords": 500,
"bonusWords": 1000,
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"currency": "aed",
"endDate": "string",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 12345,
"isGracePeriod": false,
"isTrial": false,
"limitRenewalDate": "string",
"nextSubscriptionCycleStart": "2024-01-01T00:00:00Z",
"paymentCardNumberLastFourDigits": "4242",
"paymentMethodCardBrand": "amex",
"paymentPaused": false,
"paymentType": "acss_debit",
"pricingPlanId": "18d0045a-5850-4bf4-8d5d-3dc8684e2bb2",
"pricingPlanWords": 10000,
"sepaPaymentFailed": false,
"spilloverWords": 500,
"stripeStatus": "active",
"stripeSubscriptionId": "sub_12345abcdef",
"stripeSubscriptionItemId": "sub_item_ad909w0",
"trialEndsAt": "2023-12-31T23:59:59Z",
"trialStartedAt": "string",
"updatedAt": "2025-01-14T16:20:59Z",
"usedWords": 5000,
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
}
Abonnement aktualisieren
PUT
/v1/workspaces/{workspaceId}/subscriptions/{subscriptionId}Abonnement aktualisieren
Anfrage-Body
FeldTypErforderlichBeschreibung
bonusWordsintegerNeinveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur VerwendunglimitRenewalDatestringNeinnächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht monatlich, beginnend mit dem Start des AbonnementspricingPlanIdstringNeinBeispiel
- cURL
- Python
- Node.js
- Go
curl -X PUT "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string"
}'
import requests
response = requests.put(
f"https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}",
headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
json={
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string"
},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/workspace-service/v1/workspaces/${workspaceId}/subscriptions/${subscriptionId}`,
{
method: "PUT",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string"
}),
}
).then((r) => r.json());
body, _ := json.Marshal(map[string]any{
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string",
})
req, _ := http.NewRequest("PUT", "https://app.neuroflash.com/api/workspace-service/v1/workspaces/"+workspaceID+"/subscriptions/"+subscriptionID+"", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+token)
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Abonnement patchen
PATCH
/v1/workspaces/{workspaceId}/subscriptions/{subscriptionId}Abonnement patchen
Anfrage-Body
FeldTypErforderlichBeschreibung
bonusWordsintegerNeinveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur VerwendunglimitRenewalDatestringNeinnächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht monatlich, beginnend mit dem Start des AbonnementspricingPlanIdstringNeinBeispiel
- cURL
- Python
- Node.js
- Go
curl -X PATCH "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string"
}'
import requests
response = requests.patch(
f"https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/subscriptions/{subscription_id}",
headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
json={
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string"
},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/workspace-service/v1/workspaces/${workspaceId}/subscriptions/${subscriptionId}`,
{
method: "PATCH",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string"
}),
}
).then((r) => r.json());
body, _ := json.Marshal(map[string]any{
"bonusWords": 0,
"limitRenewalDate": "string",
"pricingPlanId": "string",
})
req, _ := http.NewRequest("PATCH", "https://app.neuroflash.com/api/workspace-service/v1/workspaces/"+workspaceID+"/subscriptions/"+subscriptionID+"", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+token)
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Anzahl der verwendeten Wörter in einem Arbeitsbereich aktualisieren
POST
/v1/workspaces/{workspaceId}/current-subscription/word-usage-incrementsPfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspaceId | string | Ja | Arbeitsbereichs-ID |
Anfrage-Body
FeldTypErforderlichBeschreibung
amountintegerNeinnegative Werte werden ignoriert. Um Wörter hinzuzufügen, müssen Sie Bonus-Wörter erhöhenBeispiel
- cURL
- Python
- Node.js
- Go
curl -X POST "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/current-subscription/word-usage-increments" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"amount": 0
}'
import requests
response = requests.post(
f"https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/current-subscription/word-usage-increments",
headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
json={
"amount": 0
},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/workspace-service/v1/workspaces/${workspaceId}/current-subscription/word-usage-increments`,
{
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"amount": 0
}),
}
).then((r) => r.json());
body, _ := json.Marshal(map[string]any{
"amount": 0,
})
req, _ := http.NewRequest("POST", "https://app.neuroflash.com/api/workspace-service/v1/workspaces/"+workspaceID+"/current-subscription/word-usage-increments", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+token)
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
aktuelles Abonnement für einen Arbeitsbereich abrufen
GET
/v1/workspaces/{workspaceId}/current-subscriptionPfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspaceId | string | Ja | Arbeitsbereichs-ID |
Antwort
FeldTypBeschreibung
_embeddedobject
availableWordsintegerveraltet: entfernen, sobald das Frontend dies nicht mehr benötigtnewPricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in bestehenden und neuen Abonnements konfiguriert werden kannbillingIntervalstringcategoryIdstringID der Kategorie, zu der dieser Tarif gehörtdisplayNamestringName für interne Zwecke wie die Admin-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werdenidstringID des TarifsimportedFromLegacyIdintegerisDefaultbooleanIst dies der Standard-Tarif für neue Kunden?priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen musspricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu GleitkommawertenstripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden könnenstripePriceIdstringID des Preises in StripestripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werdentierintegertrialDaysintegerwie viele Testtage für diesen Tarif zulässig sindpricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in bestehenden und neuen Abonnements konfiguriert werden kannbillingIntervalstringcategoryIdstringID der Kategorie, zu der dieser Tarif gehörtdisplayNamestringName für interne Zwecke wie die Admin-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werdenidstringID des TarifsimportedFromLegacyIdintegerisDefaultbooleanIst dies der Standard-Tarif für neue Kunden?priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen musspricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu GleitkommawertenstripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden könnenstripePriceIdstringID des Preises in StripestripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werdentierintegertrialDaysintegerwie viele Testtage für diesen Tarif zulässig sindpricingPlanCategoryobject
displayNamestringidstringtranslationKeystringactivebooleanFlag, das angibt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert sind oder mehr Mitglieder als der aktuelle Tarif zulässtactiveDiscountsarray<string>schreibgeschützt von Stripe synchronisiert: wahr, wenn ein Rabatt für dieses Stripe-Abonnement aktiv istavailableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich im aktuellen Abrechnungszeitraum noch verwendet werden könnenbonusWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur VerwendungcreatedAtstringcreatedByUserIdstringcurrencystringendDatestringschreibgeschützt von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wirdidstringimportedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, während der Import aus der Legacy-API noch aktiv istisGracePeriodbooleanwahr, wenn das Abonnement zu einem festgelegten Datum in der Zukunft storniert wirdisTrialbooleanwahr, wenn dies derzeit ein Testzeitraum istlimitRenewalDatestringnächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht monatlich, beginnend mit dem Start des AbonnementsnextSubscriptionCycleStartstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für den Start des nächsten Abrechnungszyklus. Dies ist NICHT unbedingt der Zeitstempel, zu dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan istpaymentCardNumberLastFourDigitsstringschreibgeschützt von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten RechnungpaymentMethodCardBrandstringpaymentPausedbooleanschreibgeschützt von Stripe synchronisiert: wahr, wenn die Zahlungserfassung für dieses Abonnement derzeit unterbrochen ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und nur kostenlos sind, behandeln wir Abonnements mit unterbrochener Zahlung als inaktivpaymentTypestringpricingPlanIdstringpricingPlanWordsintegerveraltet: diese Felder werden intern verwaltet, werden aber in die Limit-Struktur verschoben veraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter der Tarif aus diesem Abonnement zulässtsepaPaymentFailedbooleanschreibgeschützt von Stripe synchronisiert: Flag, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen istspilloverWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Wird verwendet, um die verfügbaren Wörter nächsten Monat zu berechnen, da Sie nur überschüssige Wörter aus dem letzten Monat behalten können, nicht über mehrere Monate hinweg sammeln Wörter aus dem Vormonat übertragenstripeStatusstringstripeSubscriptionIdstringStripe-Abonnement-IDstripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)trialEndsAtstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für das Ende des TestzeitraumstrialStartedAtstringschreibgeschützt von Stripe synchronisiert: wenn ein Test läuft, Datum, an dem er begonnen hatupdatedAtstringusedWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter wurden in diesem Arbeitsbereich im aktuellen Monat verwendetworkspaceIdstringID des Arbeitsbereichs, zu dem dieses Abonnement gehörtBeispiel
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/current-subscription" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}/current-subscription",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/workspace-service/v1/workspaces/${workspaceId}/current-subscription`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/workspace-service/v1/workspaces/"+workspaceID+"/current-subscription", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Antwort:
{
"_embedded": {
"availableWords": 500,
"newPricingPlan": {
"active": false,
"billingInterval": "day",
"categoryId": "18d0035a-5850-4bf4-8d5d-3dc8684e2bb2",
"displayName": "Business Pro with 3 members",
"id": "18d0045a-5850-4bf4-8d5d-3dc8684e2bb2",
"importedFromLegacyId": 0,
"isDefault": true,
"priceInEuro": 24.5,
"pricePerCurrency": {},
"stripeBillingPortalEnabled": false,
"stripePriceId": "price_123",
"stripeTrackUsage": false,
"tier": 5,
"trialDays": 7
},
"pricingPlan": {
"active": false,
"billingInterval": "day",
"categoryId": "18d0035a-5850-4bf4-8d5d-3dc8684e2bb2",
"displayName": "Business Pro with 3 members",
"id": "18d0045a-5850-4bf4-8d5d-3dc8684e2bb2",
"importedFromLegacyId": 0,
"isDefault": true,
"priceInEuro": 24.5,
"pricePerCurrency": {},
"stripeBillingPortalEnabled": false,
"stripePriceId": "price_123",
"stripeTrackUsage": false,
"tier": 5,
"trialDays": 7
},
"pricingPlanCategory": {
"displayName": "string",
"id": "string",
"translationKey": "string"
}
},
"active": true,
"activeDiscounts": [
"string"
],
"availableWords": 500,
"bonusWords": 1000,
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"currency": "aed",
"endDate": "string",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 12345,
"isGracePeriod": false,
"isTrial": false,
"limitRenewalDate": "string",
"nextSubscriptionCycleStart": "2024-01-01T00:00:00Z",
"paymentCardNumberLastFourDigits": "4242",
"paymentMethodCardBrand": "amex",
"paymentPaused": false,
"paymentType": "acss_debit",
"pricingPlanId": "18d0045a-5850-4bf4-8d5d-3dc8684e2bb2",
"pricingPlanWords": 10000,
"sepaPaymentFailed": false,
"spilloverWords": 500,
"stripeStatus": "active",
"stripeSubscriptionId": "sub_12345abcdef",
"stripeSubscriptionItemId": "sub_item_ad909w0",
"trialEndsAt": "2023-12-31T23:59:59Z",
"trialStartedAt": "string",
"updatedAt": "2025-01-14T16:20:59Z",
"usedWords": 5000,
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
}