Zum Hauptinhalt springen

Workspaces

Basis-URL: https://app.neuroflash.com/api/workspace-service

Erstellen und verwalten Sie Arbeitsbereiche.

Einen neuen Arbeitsbereich mit dem aktuellen Kunden als Eigentümer erstellen

POST/v1/workspaces

erstellt einen neuen Arbeitsbereich und fügt den aktuell angemeldeten Kunden als Mitglied mit der Rolle Eigentümer hinzu

Anfrage-Body

FeldTypErforderlichBeschreibung
namestringJaName des Arbeitsbereichs

Antwort

FeldTypBeschreibung
_embeddedobject
avatarobject
_embeddedobject
signedUrlstring
createdAtstring
createdByUserIdstring
fileNamestring
idstring
signedUrlstring
storageKeystring
updatedAtstring
workspaceIdstring
billingContactobject
activeDiscountstringSchreibgeschützt von Stripe synchronisiert: true, wenn für diesen Stripe-Kunden ein Rabatt aktiv ist
addressLine1stringSchreibgeschützt von Stripe synchronisiert: Erste Zeile der Adresse des Abrechnungskontakts
addressLine2stringSchreibgeschützt von Stripe synchronisiert: Zweite Zeile der Adresse des Abrechnungskontakts
citystringSchreibgeschützt von Stripe synchronisiert: Stadt des Abrechnungskontakts
countrystringSchreibgeschützt von Stripe synchronisiert: Land des Abrechnungskontakts
createdAtstring
createdByUserIdstring
defaultPaymentCardNumberLastFourDigitsstring
defaultPaymentMethodstring
defaultPaymentMethodCardBrandstring
emailstringE-Mail-Adresse des Abrechnungskontakts
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
namestringName des Abrechnungskontakts
postalCodestringSchreibgeschützt, synchronisiert von Stripe: Postleitzahl des Abrechnungskontakts
statestringSchreibgeschützt, synchronisiert von Stripe: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Entfernen, sobald das Frontend es nicht mehr benötigt Veraltet, zur Root-Ebene verschoben
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert werden oder mehr Mitglieder haben, als der aktuelle Tarif zulässt
activeDiscountsarray<string>Schreibgeschützt, synchronisiert von Stripe: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich in der aktuellen Abrechnungsperiode noch verwendet werden können
bonusWordsintegerVeraltet: wird in eine separate Limits-Tabelle/Service verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter, die zur Verfügung stehen
createdAtstring
createdByUserIdstring
currencystring
endDatestringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem dieses Abonnement automatisch gekündigt wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
isGracePeriodbooleanTrue, wenn das Abonnement zu einem zukünftigen Datum gekündigt wird
isTrialbooleanTrue, wenn dies derzeit ein Testzeitraum ist
limitRenewalDatestringNächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht jeden Monat, ab dem Start des Abonnements
nextSubscriptionCycleStartstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT unbedingt der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringSchreibgeschützt, synchronisiert von Stripe: Letzte vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanSchreibgeschützt, synchronisiert von Stripe: true, wenn die Zahlungserfassung für dieses Abonnement derzeit pausiert ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und einfach für eine Weile kostenlos sind, behandeln wir Abonnements mit pausierter Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Diese Felder werden intern verwaltet, werden aber in die Limit-Struktur verschoben Veraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter der Tarifplan aus diesem Abonnement erlaubt.
sepaPaymentFailedbooleanSchreibgeschützt, synchronisiert von Stripe: Flag, das angibt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben. Wird verwendet, um die verfügbaren Wörter im nächsten Monat zu berechnen, da Sie überlaufende Wörter aus dem letzten Monat nur behalten können, diese aber nicht über mehrere Monate hinweg akkumulieren können Wörter aus dem vorherigen Monat übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn die Testphase endet
trialStartedAtstringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem die Testphase begonnen hat, falls eine laufen
updatedAtstring
usedWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter in diesem Arbeitsbereich im aktuellen Monat verwendet wurden
workspaceIdstringID des Arbeitsbereichs, zu dem dieses Abonnement gehört
billingContactIdstringID des Abrechnungskontakts für diesen Arbeitsbereich
createdAtstring
createdByUserIdstring
currentSubscriptionIdstringID des aktuellen Abonnements für diesen Arbeitsbereich
firstMemberInvitedAtstringVeraltet Zeitstempel, wann das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringFalls dieser Arbeitsbereich jemals ein kostenpflichtiges Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerVeraltet Einige Kunden haben kein zugewiesenes Team im Legacy-System als Besitzer, benötigen aber einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerVeraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID des Legacy-Teams, aus dem dieser Arbeitsbereich importiert wurde
keystringFür Menschen lesbare eindeutige Kennung des Arbeitsbereichs
keyIndexintegerEindeutig auto-generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie gestartet wurde
updatedAtstring

Beispiel

curl -X POST "https://app.neuroflash.com/api/workspace-service/v1/workspaces" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "string"
}'

Antwort:

{
"_embedded": {
"avatar": {
"_embedded": {
"signedUrl": "https://storage.googleapis.com/workspaces/550e8400-e29b-41d4-a716-446655440000/avatar/113c0b32-ed6c-4421-b7da-d1faf238eb56.jpg"
},
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"fileName": "a2G8Sa7Mn47Je0Lm.png",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"signedUrl": "https://storage.googleapis.com/workspaces/550e8400-e29b-41d4-a716-446655440000/avatar/113c0b32-ed6c-4421-b7da-d1faf238eb56.jpg",
"storageKey": "workspaces/550e8400-e29b-41d4-a716-446655440000/avatar",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
},
"billingContact": {
"activeDiscount": "string",
"addressLine1": "123 Main St",
"addressLine2": "123 Main St",
"city": "Berlin",
"country": "DE",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"defaultPaymentCardNumberLastFourDigits": "1234",
"defaultPaymentMethod": "acss_debit",
"defaultPaymentMethodCardBrand": "amex",
"email": "max.mustermann@neuroflash.com",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 12345,
"name": "Max Mustermann",
"postalCode": "12345",
"state": "Schleswig-Holstein",
"stripeCustomerId": "cus_12345abcdef",
"updatedAt": "2025-01-14T16:20:59Z"
},
"currentSubscription": {
"_embedded": {
"availableWords": 500,
"newPricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"stripeTrackTokenMeter": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"stripeTrackTokenMeter": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlanCategory": {
"displayName": "...",
"id": "...",
"translationKey": "..."
}
},
"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"
}
},
"billingContactId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"currentSubscriptionId": "550e8400-e29b-41d4-a716-446655440000",
"firstMemberInvitedAt": "2022-01-01T00:00:00Z",
"firstPaidSubscriptionAt": "string",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 177,
"importedFromLegacyTeamId": 187,
"key": "NF-GK352",
"keyIndex": 57,
"name": "Online Marketing Team",
"trialStartedAt": "2014-01-02T14:22:00Z",
"updatedAt": "2025-01-14T16:20:59Z"
}

Für den authentifizierten Kunden sichtbare Arbeitsbereiche auflisten

GET/v1/workspaces

Alle Arbeitsbereiche auflisten, die der authentifizierte Kunde einsehen darf

Abfrageparameter

ParameterTypStandardBeschreibung
pageintegerSeitennummer für Pagination
sizeintegerAnzahl der Elemente pro Seite
orderstringSortierrichtung: asc oder desc
sortstringFeldname zum Sortieren
importedFromLegacyTeamIdsstringNach legacyTeamIds filtern, aus denen der Arbeitsbereich erstellt wurde, durch Komma getrennt
ownerLegacyCustomerIdsstringNach Legacy-Kunden-IDs des Besitzers filtern
searchstringsucht im Namen, der ID und dem Schlüssel des Arbeitsbereichs

Antwort

FeldTypBeschreibung
dataarray<object>
_embeddedobject
avatarobject
_embeddedobject
signedUrlstring
createdAtstring
createdByUserIdstring
fileNamestring
idstring
signedUrlstring
storageKeystring
updatedAtstring
workspaceIdstring
billingContactobject
activeDiscountstringSchreibgeschützt von Stripe synchronisiert: true, wenn für diesen Stripe-Kunden ein Rabatt aktiv ist
addressLine1stringSchreibgeschützt von Stripe synchronisiert: Erste Zeile der Adresse des Abrechnungskontakts
addressLine2stringSchreibgeschützt von Stripe synchronisiert: Zweite Zeile der Adresse des Abrechnungskontakts
citystringSchreibgeschützt von Stripe synchronisiert: Stadt des Abrechnungskontakts
countrystringSchreibgeschützt von Stripe synchronisiert: Land des Abrechnungskontakts
createdAtstring
createdByUserIdstring
defaultPaymentCardNumberLastFourDigitsstring
defaultPaymentMethodstring
defaultPaymentMethodCardBrandstring
emailstringE-Mail-Adresse des Abrechnungskontakts
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
namestringName des Abrechnungskontakts
postalCodestringSchreibgeschützt, synchronisiert von Stripe: Postleitzahl des Abrechnungskontakts
statestringSchreibgeschützt, synchronisiert von Stripe: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Entfernen, sobald das Frontend es nicht mehr benötigt Veraltet, zur Root-Ebene verschoben
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert werden oder mehr Mitglieder haben, als der aktuelle Tarif zulässt
activeDiscountsarray<string>Schreibgeschützt, synchronisiert von Stripe: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich in der aktuellen Abrechnungsperiode noch verwendet werden können
bonusWordsintegerVeraltet: wird in eine separate Limits-Tabelle/Service verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter, die zur Verfügung stehen
createdAtstring
createdByUserIdstring
currencystring
endDatestringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem dieses Abonnement automatisch gekündigt wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
isGracePeriodbooleanTrue, wenn das Abonnement zu einem zukünftigen Datum gekündigt wird
isTrialbooleanTrue, wenn dies derzeit ein Testzeitraum ist
limitRenewalDatestringNächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht jeden Monat, ab dem Start des Abonnements
nextSubscriptionCycleStartstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT unbedingt der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringSchreibgeschützt, synchronisiert von Stripe: Letzte vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanSchreibgeschützt, synchronisiert von Stripe: true, wenn die Zahlungserfassung für dieses Abonnement derzeit pausiert ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und einfach für eine Weile kostenlos sind, behandeln wir Abonnements mit pausierter Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Diese Felder werden intern verwaltet, werden aber in die Limit-Struktur verschoben Veraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter der Tarifplan aus diesem Abonnement erlaubt.
sepaPaymentFailedbooleanSchreibgeschützt, synchronisiert von Stripe: Flag, das angibt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben. Wird verwendet, um die verfügbaren Wörter im nächsten Monat zu berechnen, da Sie überlaufende Wörter aus dem letzten Monat nur behalten können, diese aber nicht über mehrere Monate hinweg akkumulieren können Wörter aus dem vorherigen Monat übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn die Testphase endet
trialStartedAtstringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem die Testphase begonnen hat, falls eine laufen
updatedAtstring
usedWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter in diesem Arbeitsbereich im aktuellen Monat verwendet wurden
workspaceIdstringID des Arbeitsbereichs, zu dem dieses Abonnement gehört
billingContactIdstringID des Abrechnungskontakts für diesen Arbeitsbereich
createdAtstring
createdByUserIdstring
currentSubscriptionIdstringID des aktuellen Abonnements für diesen Arbeitsbereich
firstMemberInvitedAtstringVeraltet Zeitstempel, wann das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringFalls dieser Arbeitsbereich jemals ein kostenpflichtiges Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerVeraltet Einige Kunden haben kein zugewiesenes Team im Legacy-System als Besitzer, benötigen aber einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerVeraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID des Legacy-Teams, aus dem dieser Arbeitsbereich importiert wurde
keystringFür Menschen lesbare eindeutige Kennung des Arbeitsbereichs
keyIndexintegerEindeutig auto-generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie gestartet wurde
updatedAtstring
pageobject
currentPageinteger
sizeinteger
totalElementsinteger
totalPagesinteger

Beispiel

curl "https://app.neuroflash.com/api/workspace-service/v1/workspaces" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Antwort:

{
"data": [
{
"_embedded": {
"avatar": {
"_embedded": "...",
"createdAt": "...",
"createdByUserId": "...",
"fileName": "...",
"id": "...",
"signedUrl": "...",
"storageKey": "...",
"updatedAt": "...",
"workspaceId": "..."
},
"billingContact": {
"activeDiscount": "...",
"addressLine1": "...",
"addressLine2": "...",
"city": "...",
"country": "...",
"createdAt": "...",
"createdByUserId": "...",
"defaultPaymentCardNumberLastFourDigits": "...",
"defaultPaymentMethod": "...",
"defaultPaymentMethodCardBrand": "...",
"email": "...",
"id": "...",
"importedFromLegacyCustomerId": "...",
"name": "...",
"postalCode": "...",
"state": "...",
"stripeCustomerId": "...",
"updatedAt": "..."
},
"currentSubscription": {
"_embedded": "...",
"active": "...",
"activeDiscounts": "...",
"availableWords": "...",
"bonusWords": "...",
"createdAt": "...",
"createdByUserId": "...",
"currency": "...",
"endDate": "...",
"id": "...",
"importedFromLegacyCustomerId": "...",
"isGracePeriod": "...",
"isTrial": "...",
"limitRenewalDate": "...",
"nextSubscriptionCycleStart": "...",
"paymentCardNumberLastFourDigits": "...",
"paymentMethodCardBrand": "...",
"paymentPaused": "...",
"paymentType": "...",
"pricingPlanId": "...",
"pricingPlanWords": "...",
"sepaPaymentFailed": "...",
"spilloverWords": "...",
"stripeStatus": "...",
"stripeSubscriptionId": "...",
"stripeSubscriptionItemId": "...",
"trialEndsAt": "...",
"trialStartedAt": "...",
"updatedAt": "...",
"usedWords": "...",
"workspaceId": "..."
}
},
"billingContactId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"currentSubscriptionId": "550e8400-e29b-41d4-a716-446655440000",
"firstMemberInvitedAt": "2022-01-01T00:00:00Z",
"firstPaidSubscriptionAt": "string",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 177,
"importedFromLegacyTeamId": 187,
"key": "NF-GK352",
"keyIndex": 57,
"name": "Online Marketing Team",
"trialStartedAt": "2014-01-02T14:22:00Z",
"updatedAt": "2025-01-14T16:20:59Z"
}
],
"page": {
"currentPage": 2,
"size": 10,
"totalElements": 35,
"totalPages": 4
}
}

Get

GET/v1/workspaces/{workspaceId}

Pfadparameter

ParameterTypErforderlichBeschreibung
workspaceIdstringJaArbeitsbereich-ID

Antwort

FeldTypBeschreibung
_embeddedobject
avatarobject
_embeddedobject
signedUrlstring
createdAtstring
createdByUserIdstring
fileNamestring
idstring
signedUrlstring
storageKeystring
updatedAtstring
workspaceIdstring
billingContactobject
activeDiscountstringSchreibgeschützt von Stripe synchronisiert: true, wenn für diesen Stripe-Kunden ein Rabatt aktiv ist
addressLine1stringSchreibgeschützt von Stripe synchronisiert: Erste Zeile der Adresse des Abrechnungskontakts
addressLine2stringSchreibgeschützt von Stripe synchronisiert: Zweite Zeile der Adresse des Abrechnungskontakts
citystringSchreibgeschützt von Stripe synchronisiert: Stadt des Abrechnungskontakts
countrystringSchreibgeschützt von Stripe synchronisiert: Land des Abrechnungskontakts
createdAtstring
createdByUserIdstring
defaultPaymentCardNumberLastFourDigitsstring
defaultPaymentMethodstring
defaultPaymentMethodCardBrandstring
emailstringE-Mail-Adresse des Abrechnungskontakts
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
namestringName des Abrechnungskontakts
postalCodestringSchreibgeschützt, synchronisiert von Stripe: Postleitzahl des Abrechnungskontakts
statestringSchreibgeschützt, synchronisiert von Stripe: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Entfernen, sobald das Frontend es nicht mehr benötigt Veraltet, zur Root-Ebene verschoben
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert werden oder mehr Mitglieder haben, als der aktuelle Tarif zulässt
activeDiscountsarray<string>Schreibgeschützt, synchronisiert von Stripe: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich in der aktuellen Abrechnungsperiode noch verwendet werden können
bonusWordsintegerVeraltet: wird in eine separate Limits-Tabelle/Service verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter, die zur Verfügung stehen
createdAtstring
createdByUserIdstring
currencystring
endDatestringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem dieses Abonnement automatisch gekündigt wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
isGracePeriodbooleanTrue, wenn das Abonnement zu einem zukünftigen Datum gekündigt wird
isTrialbooleanTrue, wenn dies derzeit ein Testzeitraum ist
limitRenewalDatestringNächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht jeden Monat, ab dem Start des Abonnements
nextSubscriptionCycleStartstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT unbedingt der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringSchreibgeschützt, synchronisiert von Stripe: Letzte vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanSchreibgeschützt, synchronisiert von Stripe: true, wenn die Zahlungserfassung für dieses Abonnement derzeit pausiert ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und einfach für eine Weile kostenlos sind, behandeln wir Abonnements mit pausierter Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Diese Felder werden intern verwaltet, werden aber in die Limit-Struktur verschoben Veraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter der Tarifplan aus diesem Abonnement erlaubt.
sepaPaymentFailedbooleanSchreibgeschützt, synchronisiert von Stripe: Flag, das angibt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben. Wird verwendet, um die verfügbaren Wörter im nächsten Monat zu berechnen, da Sie überlaufende Wörter aus dem letzten Monat nur behalten können, diese aber nicht über mehrere Monate hinweg akkumulieren können Wörter aus dem vorherigen Monat übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn die Testphase endet
trialStartedAtstringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem die Testphase begonnen hat, falls eine laufen
updatedAtstring
usedWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter in diesem Arbeitsbereich im aktuellen Monat verwendet wurden
workspaceIdstringID des Arbeitsbereichs, zu dem dieses Abonnement gehört
billingContactIdstringID des Abrechnungskontakts für diesen Arbeitsbereich
createdAtstring
createdByUserIdstring
currentSubscriptionIdstringID des aktuellen Abonnements für diesen Arbeitsbereich
firstMemberInvitedAtstringVeraltet Zeitstempel, wann das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringFalls dieser Arbeitsbereich jemals ein kostenpflichtiges Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerVeraltet Einige Kunden haben kein zugewiesenes Team im Legacy-System als Besitzer, benötigen aber einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerVeraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID des Legacy-Teams, aus dem dieser Arbeitsbereich importiert wurde
keystringFür Menschen lesbare eindeutige Kennung des Arbeitsbereichs
keyIndexintegerEindeutig auto-generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie gestartet wurde
updatedAtstring

Beispiel

curl "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Antwort:

{
"_embedded": {
"avatar": {
"_embedded": {
"signedUrl": "https://storage.googleapis.com/workspaces/550e8400-e29b-41d4-a716-446655440000/avatar/113c0b32-ed6c-4421-b7da-d1faf238eb56.jpg"
},
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"fileName": "a2G8Sa7Mn47Je0Lm.png",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"signedUrl": "https://storage.googleapis.com/workspaces/550e8400-e29b-41d4-a716-446655440000/avatar/113c0b32-ed6c-4421-b7da-d1faf238eb56.jpg",
"storageKey": "workspaces/550e8400-e29b-41d4-a716-446655440000/avatar",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
},
"billingContact": {
"activeDiscount": "string",
"addressLine1": "123 Main St",
"addressLine2": "123 Main St",
"city": "Berlin",
"country": "DE",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"defaultPaymentCardNumberLastFourDigits": "1234",
"defaultPaymentMethod": "acss_debit",
"defaultPaymentMethodCardBrand": "amex",
"email": "max.mustermann@neuroflash.com",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 12345,
"name": "Max Mustermann",
"postalCode": "12345",
"state": "Schleswig-Holstein",
"stripeCustomerId": "cus_12345abcdef",
"updatedAt": "2025-01-14T16:20:59Z"
},
"currentSubscription": {
"_embedded": {
"availableWords": 500,
"newPricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"stripeTrackTokenMeter": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"stripeTrackTokenMeter": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlanCategory": {
"displayName": "...",
"id": "...",
"translationKey": "..."
}
},
"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"
}
},
"billingContactId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"currentSubscriptionId": "550e8400-e29b-41d4-a716-446655440000",
"firstMemberInvitedAt": "2022-01-01T00:00:00Z",
"firstPaidSubscriptionAt": "string",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 177,
"importedFromLegacyTeamId": 187,
"key": "NF-GK352",
"keyIndex": 57,
"name": "Online Marketing Team",
"trialStartedAt": "2014-01-02T14:22:00Z",
"updatedAt": "2025-01-14T16:20:59Z"
}

Update

PUT/v1/workspaces/{workspaceId}

Pfadparameter

ParameterTypErforderlichBeschreibung
workspaceIdstringJaArbeitsbereich-ID

Anfrage-Body

FeldTypErforderlichBeschreibung
namestringJaName des Arbeitsbereichs

Antwort

FeldTypBeschreibung
_embeddedobject
avatarobject
_embeddedobject
signedUrlstring
createdAtstring
createdByUserIdstring
fileNamestring
idstring
signedUrlstring
storageKeystring
updatedAtstring
workspaceIdstring
billingContactobject
activeDiscountstringSchreibgeschützt von Stripe synchronisiert: true, wenn für diesen Stripe-Kunden ein Rabatt aktiv ist
addressLine1stringSchreibgeschützt von Stripe synchronisiert: Erste Zeile der Adresse des Abrechnungskontakts
addressLine2stringSchreibgeschützt von Stripe synchronisiert: Zweite Zeile der Adresse des Abrechnungskontakts
citystringSchreibgeschützt von Stripe synchronisiert: Stadt des Abrechnungskontakts
countrystringSchreibgeschützt von Stripe synchronisiert: Land des Abrechnungskontakts
createdAtstring
createdByUserIdstring
defaultPaymentCardNumberLastFourDigitsstring
defaultPaymentMethodstring
defaultPaymentMethodCardBrandstring
emailstringE-Mail-Adresse des Abrechnungskontakts
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
namestringName des Abrechnungskontakts
postalCodestringSchreibgeschützt, synchronisiert von Stripe: Postleitzahl des Abrechnungskontakts
statestringSchreibgeschützt, synchronisiert von Stripe: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Entfernen, sobald das Frontend es nicht mehr benötigt Veraltet, zur Root-Ebene verschoben
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarif bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Tarif gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardtarif für neue Kunden?
priceInEuronumberBetrag, den der Kunde für dieses Abonnement zahlen muss
pricePerCurrencyobjectEine Zuordnung von String-Schlüsseln zu Float-Werten
stripeBillingPortalEnabledbooleanTrue, wenn Abonnements mit diesem Tarif selbst im Stripe-Abrechnungsportal verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerAnzahl der Testtage, die für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert werden oder mehr Mitglieder haben, als der aktuelle Tarif zulässt
activeDiscountsarray<string>Schreibgeschützt, synchronisiert von Stripe: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich in der aktuellen Abrechnungsperiode noch verwendet werden können
bonusWordsintegerVeraltet: wird in eine separate Limits-Tabelle/Service verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter, die zur Verfügung stehen
createdAtstring
createdByUserIdstring
currencystring
endDatestringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem dieses Abonnement automatisch gekündigt wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, solange der Import von der Legacy-API noch aktiv ist ID des Legacy-Kunden, von dem dies importiert wurde
isGracePeriodbooleanTrue, wenn das Abonnement zu einem zukünftigen Datum gekündigt wird
isTrialbooleanTrue, wenn dies derzeit ein Testzeitraum ist
limitRenewalDatestringNächstes Datum, an dem die Limits (wie verfügbare Wörter, verfügbare Bilder usw.) zurückgesetzt werden. Dies geschieht jeden Monat, ab dem Start des Abonnements
nextSubscriptionCycleStartstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT unbedingt der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringSchreibgeschützt, synchronisiert von Stripe: Letzte vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanSchreibgeschützt, synchronisiert von Stripe: true, wenn die Zahlungserfassung für dieses Abonnement derzeit pausiert ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und einfach für eine Weile kostenlos sind, behandeln wir Abonnements mit pausierter Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Diese Felder werden intern verwaltet, werden aber in die Limit-Struktur verschoben Veraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter der Tarifplan aus diesem Abonnement erlaubt.
sepaPaymentFailedbooleanSchreibgeschützt, synchronisiert von Stripe: Flag, das angibt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben. Wird verwendet, um die verfügbaren Wörter im nächsten Monat zu berechnen, da Sie überlaufende Wörter aus dem letzten Monat nur behalten können, diese aber nicht über mehrere Monate hinweg akkumulieren können Wörter aus dem vorherigen Monat übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringSchreibgeschützt, synchronisiert von Stripe: Zeitstempel, wenn die Testphase endet
trialStartedAtstringSchreibgeschützt, synchronisiert von Stripe: Datum, an dem die Testphase begonnen hat, falls eine laufen
updatedAtstring
usedWordsintegerVeraltet: wird in eine separate Limits-Tabelle/einen separaten Service verschoben Wie viele Wörter in diesem Arbeitsbereich im aktuellen Monat verwendet wurden
workspaceIdstringID des Arbeitsbereichs, zu dem dieses Abonnement gehört
billingContactIdstringID des Abrechnungskontakts für diesen Arbeitsbereich
createdAtstring
createdByUserIdstring
currentSubscriptionIdstringID des aktuellen Abonnements für diesen Arbeitsbereich
firstMemberInvitedAtstringVeraltet Zeitstempel, wann das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringFalls dieser Arbeitsbereich jemals ein kostenpflichtiges Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerVeraltet Einige Kunden haben kein zugewiesenes Team im Legacy-System als Besitzer, benötigen aber einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerVeraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID des Legacy-Teams, aus dem dieser Arbeitsbereich importiert wurde
keystringFür Menschen lesbare eindeutige Kennung des Arbeitsbereichs
keyIndexintegerEindeutig auto-generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie gestartet wurde
updatedAtstring

Beispiel

curl -X PUT "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "string"
}'

Antwort:

{
"_embedded": {
"avatar": {
"_embedded": {
"signedUrl": "https://storage.googleapis.com/workspaces/550e8400-e29b-41d4-a716-446655440000/avatar/113c0b32-ed6c-4421-b7da-d1faf238eb56.jpg"
},
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"fileName": "a2G8Sa7Mn47Je0Lm.png",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"signedUrl": "https://storage.googleapis.com/workspaces/550e8400-e29b-41d4-a716-446655440000/avatar/113c0b32-ed6c-4421-b7da-d1faf238eb56.jpg",
"storageKey": "workspaces/550e8400-e29b-41d4-a716-446655440000/avatar",
"updatedAt": "2025-01-14T16:20:59Z",
"workspaceId": "550e8400-e29b-41d4-a716-446655440000"
},
"billingContact": {
"activeDiscount": "string",
"addressLine1": "123 Main St",
"addressLine2": "123 Main St",
"city": "Berlin",
"country": "DE",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"defaultPaymentCardNumberLastFourDigits": "1234",
"defaultPaymentMethod": "acss_debit",
"defaultPaymentMethodCardBrand": "amex",
"email": "max.mustermann@neuroflash.com",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 12345,
"name": "Max Mustermann",
"postalCode": "12345",
"state": "Schleswig-Holstein",
"stripeCustomerId": "cus_12345abcdef",
"updatedAt": "2025-01-14T16:20:59Z"
},
"currentSubscription": {
"_embedded": {
"availableWords": 500,
"newPricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"stripeTrackTokenMeter": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"stripeTrackTokenMeter": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlanCategory": {
"displayName": "...",
"id": "...",
"translationKey": "..."
}
},
"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"
}
},
"billingContactId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-14T16:20:59Z",
"createdByUserId": "b0920767-2e30-48d3-80ce-268810bc433a",
"currentSubscriptionId": "550e8400-e29b-41d4-a716-446655440000",
"firstMemberInvitedAt": "2022-01-01T00:00:00Z",
"firstPaidSubscriptionAt": "string",
"id": "113c0b32-ed6c-4421-b7da-d1faf238eb56",
"importedFromLegacyCustomerId": 177,
"importedFromLegacyTeamId": 187,
"key": "NF-GK352",
"keyIndex": 57,
"name": "Online Marketing Team",
"trialStartedAt": "2014-01-02T14:22:00Z",
"updatedAt": "2025-01-14T16:20:59Z"
}

Delete

DELETE/v1/workspaces/{workspaceId}

Pfadparameter

ParameterTypErforderlichBeschreibung
workspaceIdstringJaArbeitsbereich-ID

Beispiel

curl -X DELETE "https://app.neuroflash.com/api/workspace-service/v1/workspaces/{workspace_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"