Zum Hauptinhalt springen

Workspaces

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

Erstellen und verwalten Sie Arbeitsbereiche.

Erstelle einen neuen Arbeitsbereich mit dem aktuellen Kunden als Eigentümer

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 ein Rabatt für diesen Stripe-Kunden aktiv ist
addressLine1stringschreibgeschützt von Stripe synchronisiert: erste Zeile der Adressen des Abrechnungskontakts
addressLine2stringschreibgeschützt von Stripe synchronisiert: zweite Zeile der Adressen 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, während der Import aus der Legacy-API noch aktiv ist
namestringName des Abrechnungskontakts
postalCodestringschreibgeschützt von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringschreibgeschützt von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir weitere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerveraltet: entfernen, sobald das Frontend dies nicht mehr benötigt
newPricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das angibt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert sind oder mehr Mitglieder als der aktuelle Tarif zulässt
activeDiscountsarray<string>schreibgeschützt von Stripe synchronisiert: wahr, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich im aktuellen Abrechnungszeitraum noch verwendet werden können
bonusWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur Verwendung
createdAtstring
createdByUserIdstring
currencystring
endDatestringschreibgeschützt von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, während der Import aus der Legacy-API noch aktiv ist
isGracePeriodbooleanwahr, wenn das Abonnement zu einem festgelegten Datum in der Zukunft storniert wird
isTrialbooleanwahr, 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 monatlich, beginnend mit dem Start des Abonnements
nextSubscriptionCycleStartstringschreibgeschü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 ist
paymentCardNumberLastFourDigitsstringschreibgeschützt von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanschreibgeschü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 inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerveraltet: 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ässt
sepaPaymentFailedbooleanschreibgeschützt von Stripe synchronisiert: Flag, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerveraltet: 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 übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für das Ende des Testzeitraums
trialStartedAtstringschreibgeschützt von Stripe synchronisiert: wenn ein Test läuft, Datum, an dem er begonnen hat
updatedAtstring
usedWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter wurden in diesem Arbeitsbereich im aktuellen Monat verwendet
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, an dem das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich jemals ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keinen zugewiesenen Team als Besitzer, benötigen aber trotzdem 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
keystringEindeutige, vom Menschen lesbare Kennung des Arbeitsbereichs
keyIndexintegerEindeutig automatisch generierter Index, der zur Erzeugung eines eindeutigen Schlüssels verwendet wird
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit Testversion hatte, enthält dies den Zeitpunkt des Starts
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": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"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"
}

Arbeitsbereiche auflisten, die für den authentifizierten Kunden sichtbar sind

GET/v1/workspaces

Alle Arbeitsbereiche auflisten, die der authentifizierte Kunde anzeigen darf

Abfrageparameter

ParameterTypStandardBeschreibung
pageintegerSeitennummer für Pagination
sizeintegerAnzahl der Elemente pro Seite
orderstringSortierrichtung: asc oder desc
sortstringFeldname zum Sortieren
importedFromLegacyTeamIdsstringNach legacyTeamIds filtern, von denen der Arbeitsbereich erstellt wurde, durch Komma getrennt
ownerLegacyCustomerIdsstringNach Legacy-Kunden-IDs filtern
searchstringSuche in Name, ID und 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 ein Rabatt für diesen Stripe-Kunden aktiv ist
addressLine1stringschreibgeschützt von Stripe synchronisiert: erste Zeile der Adressen des Abrechnungskontakts
addressLine2stringschreibgeschützt von Stripe synchronisiert: zweite Zeile der Adressen 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, während der Import aus der Legacy-API noch aktiv ist
namestringName des Abrechnungskontakts
postalCodestringschreibgeschützt von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringschreibgeschützt von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir weitere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerveraltet: entfernen, sobald das Frontend dies nicht mehr benötigt
newPricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das angibt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert sind oder mehr Mitglieder als der aktuelle Tarif zulässt
activeDiscountsarray<string>schreibgeschützt von Stripe synchronisiert: wahr, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich im aktuellen Abrechnungszeitraum noch verwendet werden können
bonusWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur Verwendung
createdAtstring
createdByUserIdstring
currencystring
endDatestringschreibgeschützt von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, während der Import aus der Legacy-API noch aktiv ist
isGracePeriodbooleanwahr, wenn das Abonnement zu einem festgelegten Datum in der Zukunft storniert wird
isTrialbooleanwahr, 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 monatlich, beginnend mit dem Start des Abonnements
nextSubscriptionCycleStartstringschreibgeschü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 ist
paymentCardNumberLastFourDigitsstringschreibgeschützt von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanschreibgeschü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 inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerveraltet: 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ässt
sepaPaymentFailedbooleanschreibgeschützt von Stripe synchronisiert: Flag, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerveraltet: 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 übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für das Ende des Testzeitraums
trialStartedAtstringschreibgeschützt von Stripe synchronisiert: wenn ein Test läuft, Datum, an dem er begonnen hat
updatedAtstring
usedWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter wurden in diesem Arbeitsbereich im aktuellen Monat verwendet
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, an dem das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich jemals ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keinen zugewiesenen Team als Besitzer, benötigen aber trotzdem 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
keystringEindeutige, vom Menschen lesbare Kennung des Arbeitsbereichs
keyIndexintegerEindeutig automatisch generierter Index, der zur Erzeugung eines eindeutigen Schlüssels verwendet wird
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit Testversion hatte, enthält dies den Zeitpunkt des Starts
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
workspaceIdstringJaworkspaceId

Antwort

FeldTypBeschreibung
_embeddedobject
avatarobject
_embeddedobject
signedUrlstring
createdAtstring
createdByUserIdstring
fileNamestring
idstring
signedUrlstring
storageKeystring
updatedAtstring
workspaceIdstring
billingContactobject
activeDiscountstringschreibgeschützt von Stripe synchronisiert: true, wenn ein Rabatt für diesen Stripe-Kunden aktiv ist
addressLine1stringschreibgeschützt von Stripe synchronisiert: erste Zeile der Adressen des Abrechnungskontakts
addressLine2stringschreibgeschützt von Stripe synchronisiert: zweite Zeile der Adressen 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, während der Import aus der Legacy-API noch aktiv ist
namestringName des Abrechnungskontakts
postalCodestringschreibgeschützt von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringschreibgeschützt von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir weitere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerveraltet: entfernen, sobald das Frontend dies nicht mehr benötigt
newPricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das angibt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert sind oder mehr Mitglieder als der aktuelle Tarif zulässt
activeDiscountsarray<string>schreibgeschützt von Stripe synchronisiert: wahr, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich im aktuellen Abrechnungszeitraum noch verwendet werden können
bonusWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur Verwendung
createdAtstring
createdByUserIdstring
currencystring
endDatestringschreibgeschützt von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, während der Import aus der Legacy-API noch aktiv ist
isGracePeriodbooleanwahr, wenn das Abonnement zu einem festgelegten Datum in der Zukunft storniert wird
isTrialbooleanwahr, 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 monatlich, beginnend mit dem Start des Abonnements
nextSubscriptionCycleStartstringschreibgeschü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 ist
paymentCardNumberLastFourDigitsstringschreibgeschützt von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanschreibgeschü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 inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerveraltet: 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ässt
sepaPaymentFailedbooleanschreibgeschützt von Stripe synchronisiert: Flag, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerveraltet: 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 übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für das Ende des Testzeitraums
trialStartedAtstringschreibgeschützt von Stripe synchronisiert: wenn ein Test läuft, Datum, an dem er begonnen hat
updatedAtstring
usedWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter wurden in diesem Arbeitsbereich im aktuellen Monat verwendet
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, an dem das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich jemals ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keinen zugewiesenen Team als Besitzer, benötigen aber trotzdem 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
keystringEindeutige, vom Menschen lesbare Kennung des Arbeitsbereichs
keyIndexintegerEindeutig automatisch generierter Index, der zur Erzeugung eines eindeutigen Schlüssels verwendet wird
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit Testversion hatte, enthält dies den Zeitpunkt des Starts
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": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"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
workspaceIdstringJaworkspaceId

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 ein Rabatt für diesen Stripe-Kunden aktiv ist
addressLine1stringschreibgeschützt von Stripe synchronisiert: erste Zeile der Adressen des Abrechnungskontakts
addressLine2stringschreibgeschützt von Stripe synchronisiert: zweite Zeile der Adressen 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, während der Import aus der Legacy-API noch aktiv ist
namestringName des Abrechnungskontakts
postalCodestringschreibgeschützt von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringschreibgeschützt von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kunden-ID für Abrechnungszwecke. Könnte optional werden, wenn wir weitere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerveraltet: entfernen, sobald das Frontend dies nicht mehr benötigt
newPricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanobject
activebooleanauf true gesetzt, wenn dieser Tarif in 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-Benutzeroberfläche oder Hubspot. Sollte nicht für Kunden angezeigt werden
idstringID des Tarifs
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standard-Tarif für neue Kunden?
priceInEuronumberwie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenkettenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarif im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackUsagebooleanwenn true, sollte die Nutzung für Abonnements mit diesem Tarif in Stripe nachverfolgt werden
tierinteger
trialDaysintegerwie viele Testtage für diesen Tarif zulässig sind
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlag, das angibt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie pausiert sind oder mehr Mitglieder als der aktuelle Tarif zulässt
activeDiscountsarray<string>schreibgeschützt von Stripe synchronisiert: wahr, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsintegerAnzahl der Wörter, die in diesem Arbeitsbereich im aktuellen Abrechnungszeitraum noch verwendet werden können
bonusWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben. Kann derzeit von Administratoren verwaltet werden Zusätzliche Bonuswörter verfügbar zur Verwendung
createdAtstring
createdByUserIdstring
currencystring
endDatestringschreibgeschützt von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: nur erforderlich, während der Import aus der Legacy-API noch aktiv ist
isGracePeriodbooleanwahr, wenn das Abonnement zu einem festgelegten Datum in der Zukunft storniert wird
isTrialbooleanwahr, 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 monatlich, beginnend mit dem Start des Abonnements
nextSubscriptionCycleStartstringschreibgeschü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 ist
paymentCardNumberLastFourDigitsstringschreibgeschützt von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanschreibgeschü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 inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerveraltet: 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ässt
sepaPaymentFailedbooleanschreibgeschützt von Stripe synchronisiert: Flag, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsintegerveraltet: 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 übertragen
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnement-Elements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringschreibgeschützt von Stripe synchronisiert: Zeitstempel für das Ende des Testzeitraums
trialStartedAtstringschreibgeschützt von Stripe synchronisiert: wenn ein Test läuft, Datum, an dem er begonnen hat
updatedAtstring
usedWordsintegerveraltet: wird in eine separate Limits-Tabelle/einen Dienst verschoben Wie viele Wörter wurden in diesem Arbeitsbereich im aktuellen Monat verwendet
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, an dem das erste Mitglied zum Arbeitsbereich eingeladen wurde
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich jemals ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begann
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keinen zugewiesenen Team als Besitzer, benötigen aber trotzdem 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
keystringEindeutige, vom Menschen lesbare Kennung des Arbeitsbereichs
keyIndexintegerEindeutig automatisch generierter Index, der zur Erzeugung eines eindeutigen Schlüssels verwendet wird
namestringName des Arbeitsbereichs
trialStartedAtstringFalls dieser Arbeitsbereich jemals ein Abonnement mit Testversion hatte, enthält dies den Zeitpunkt des Starts
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": "...",
"stripeTrackUsage": "...",
"tier": "...",
"trialDays": "..."
},
"pricingPlan": {
"active": "...",
"billingInterval": "...",
"categoryId": "...",
"displayName": "...",
"id": "...",
"importedFromLegacyId": "...",
"isDefault": "...",
"priceInEuro": "...",
"pricePerCurrency": "...",
"stripeBillingPortalEnabled": "...",
"stripePriceId": "...",
"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
workspaceIdstringJaworkspaceId

Beispiel

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