Zum Hauptinhalt springen

Workspaces

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

Workspaces erstellen und verwalten.

Create workspaces

POST/v1/workspaces

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 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: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
namestringName des Abrechnungskontakts
postalCodestringreadonly von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringreadonly von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kundenkennung zu Abrechnungszwecken. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlagge, die anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie angehalten werden oder mehr Mitglieder haben, als der aktuelle Plan zulässt
activeDiscountsarray<string>readonly von Stripe synchronisiert: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsinteger
createdAtstring
createdByUserIdstring
currencystring
endDatestringreadonly von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
isGracePeriodbooleantrue, wenn das Abonnement zu einem festgelegten zukünftigen Datum storniert wird
isTrialbooleantrue, wenn dies derzeit eine Testphase 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
nextSubscriptionCycleStartstringreadonly von Stripe synchronisiert: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT zwingend der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringreadonly von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanreadonly von Stripe synchronisiert: true, wenn die Zahlungserfassung für dieses Abonnement derzeit angehalten ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und nur für eine Weile kostenlos sind, behandeln wir Abonnements mit angehaltener Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
sepaPaymentFailedbooleanreadonly von Stripe synchronisiert: Kennzeichen, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsinteger
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnementelements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringreadonly von Stripe synchronisiert: Zeitstempel, wenn die Testphase endet
trialStartedAtstringreadonly von Stripe synchronisiert: wenn eine Testphase läuft, Datum, wann sie begonnen hat
updatedAtstring
usedWordsinteger
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
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich je ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begonnen hat
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keine zugewiesene Mannschaft als Besitzer, benötigen aber dennoch einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerveraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID der Legacy-Mannschaft, aus der dieser Arbeitsbereich importiert wurde
keystringMenschenlesbarer eindeutiger Bezeichner des Arbeitsbereichs
keyIndexintegerEindeutig generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringWenn dieser Arbeitsbereich je ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie begonnen hat
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 '{}'

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,
"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"
}

Get workspaces

GET/v1/workspaces

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 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: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
namestringName des Abrechnungskontakts
postalCodestringreadonly von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringreadonly von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kundenkennung zu Abrechnungszwecken. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlagge, die anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie angehalten werden oder mehr Mitglieder haben, als der aktuelle Plan zulässt
activeDiscountsarray<string>readonly von Stripe synchronisiert: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsinteger
createdAtstring
createdByUserIdstring
currencystring
endDatestringreadonly von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
isGracePeriodbooleantrue, wenn das Abonnement zu einem festgelegten zukünftigen Datum storniert wird
isTrialbooleantrue, wenn dies derzeit eine Testphase 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
nextSubscriptionCycleStartstringreadonly von Stripe synchronisiert: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT zwingend der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringreadonly von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanreadonly von Stripe synchronisiert: true, wenn die Zahlungserfassung für dieses Abonnement derzeit angehalten ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und nur für eine Weile kostenlos sind, behandeln wir Abonnements mit angehaltener Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
sepaPaymentFailedbooleanreadonly von Stripe synchronisiert: Kennzeichen, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsinteger
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnementelements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringreadonly von Stripe synchronisiert: Zeitstempel, wenn die Testphase endet
trialStartedAtstringreadonly von Stripe synchronisiert: wenn eine Testphase läuft, Datum, wann sie begonnen hat
updatedAtstring
usedWordsinteger
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
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich je ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begonnen hat
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keine zugewiesene Mannschaft als Besitzer, benötigen aber dennoch einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerveraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID der Legacy-Mannschaft, aus der dieser Arbeitsbereich importiert wurde
keystringMenschenlesbarer eindeutiger Bezeichner des Arbeitsbereichs
keyIndexintegerEindeutig generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringWenn dieser Arbeitsbereich je ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie begonnen hat
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": "...",
"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}

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 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: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
namestringName des Abrechnungskontakts
postalCodestringreadonly von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringreadonly von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kundenkennung zu Abrechnungszwecken. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlagge, die anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie angehalten werden oder mehr Mitglieder haben, als der aktuelle Plan zulässt
activeDiscountsarray<string>readonly von Stripe synchronisiert: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsinteger
createdAtstring
createdByUserIdstring
currencystring
endDatestringreadonly von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
isGracePeriodbooleantrue, wenn das Abonnement zu einem festgelegten zukünftigen Datum storniert wird
isTrialbooleantrue, wenn dies derzeit eine Testphase 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
nextSubscriptionCycleStartstringreadonly von Stripe synchronisiert: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT zwingend der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringreadonly von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanreadonly von Stripe synchronisiert: true, wenn die Zahlungserfassung für dieses Abonnement derzeit angehalten ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und nur für eine Weile kostenlos sind, behandeln wir Abonnements mit angehaltener Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
sepaPaymentFailedbooleanreadonly von Stripe synchronisiert: Kennzeichen, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsinteger
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnementelements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringreadonly von Stripe synchronisiert: Zeitstempel, wenn die Testphase endet
trialStartedAtstringreadonly von Stripe synchronisiert: wenn eine Testphase läuft, Datum, wann sie begonnen hat
updatedAtstring
usedWordsinteger
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
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich je ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begonnen hat
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keine zugewiesene Mannschaft als Besitzer, benötigen aber dennoch einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerveraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID der Legacy-Mannschaft, aus der dieser Arbeitsbereich importiert wurde
keystringMenschenlesbarer eindeutiger Bezeichner des Arbeitsbereichs
keyIndexintegerEindeutig generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringWenn dieser Arbeitsbereich je ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie begonnen hat
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,
"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}

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 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: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
namestringName des Abrechnungskontakts
postalCodestringreadonly von Stripe synchronisiert: Postleitzahl des Abrechnungskontakts
statestringreadonly von Stripe synchronisiert: Bundesland des Abrechnungskontakts
stripeCustomerIdstringStripe-Kundenkennung zu Abrechnungszwecken. Könnte optional werden, wenn wir andere Zahlungsanbieter hinzufügen
updatedAtstring
currentSubscriptionobject
_embeddedobject
availableWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
newPricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanobject
activebooleanAuf true setzen, wenn dieser Tarifplan bei bestehenden und neuen Abonnements konfiguriert werden kann
billingIntervalstring
categoryIdstringID der Kategorie, zu der dieser Plan gehört
displayNamestringName für interne Zwecke wie die Admin-UI oder HubSpot. Sollte Kunden nicht angezeigt werden
idstringID des Tarifplans
importedFromLegacyIdinteger
isDefaultbooleanIst dies der Standardplan für Neukunden?
priceInEuronumberWie viel der Kunde für dieses Abonnement bezahlen muss
pricePerCurrencyobjectEine Zuordnung von Zeichenfolgenschlüsseln zu Gleitkommawerten
stripeBillingPortalEnabledbooleantrue, wenn Abonnements mit diesem Tarifplan im Stripe-Abrechnungsportal selbst verwaltet werden können
stripePriceIdstringID des Preises in Stripe
stripeTrackTokenMeterstring
stripeTrackUsagebooleanVeraltet
tierinteger
trialDaysintegerWie viele Testtage sind für diesen Plan zulässig
pricingPlanCategoryobject
displayNamestring
idstring
translationKeystring
activebooleanFlagge, die anzeigt, ob das Abonnement aktiv ist. Abonnements können inaktiv werden, wenn sie angehalten werden oder mehr Mitglieder haben, als der aktuelle Plan zulässt
activeDiscountsarray<string>readonly von Stripe synchronisiert: true, wenn ein Rabatt für dieses Stripe-Abonnement aktiv ist
availableWordsinteger
createdAtstring
createdByUserIdstring
currencystring
endDatestringreadonly von Stripe synchronisiert: Datum, an dem dieses Abonnement automatisch storniert wird
idstring
importedFromLegacyCustomerIdintegerVeraltet: wird nur benötigt, solange der Import aus der Legacy-API noch aktiv ist ID des Legacy-Kunden, aus dem dieser importiert wurde
isGracePeriodbooleantrue, wenn das Abonnement zu einem festgelegten zukünftigen Datum storniert wird
isTrialbooleantrue, wenn dies derzeit eine Testphase 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
nextSubscriptionCycleStartstringreadonly von Stripe synchronisiert: Zeitstempel, wenn der nächste Abrechnungszyklus beginnt. Dies ist NICHT zwingend der Zeitstempel, an dem wir die Limits in unserem System zurücksetzen, da wir sie monatlich zurücksetzen, auch wenn dies ein Jahresplan ist
paymentCardNumberLastFourDigitsstringreadonly von Stripe synchronisiert: Die letzten vier Ziffern der Zahlungskartennummer. Verwendet die Standardzahlung des Abonnements mit Fallback zur Zahlung aus der letzten Rechnung
paymentMethodCardBrandstring
paymentPausedbooleanreadonly von Stripe synchronisiert: true, wenn die Zahlungserfassung für dieses Abonnement derzeit angehalten ist. Obwohl Stripe beabsichtigt, dass diese Abonnements aktiv bleiben und nur für eine Weile kostenlos sind, behandeln wir Abonnements mit angehaltener Zahlung als inaktiv
paymentTypestring
pricingPlanIdstring
pricingPlanWordsintegerVeraltet: Felder sind vorhanden, bis das Frontend alle Verwendungen entfernt Standardwerte werden verwendet, es werden keine Anpassungen vorgenommen! Es wird immer gemeldet, dass der Arbeitsbereich einen unbegrenzten Plan hat
sepaPaymentFailedbooleanreadonly von Stripe synchronisiert: Kennzeichen, das anzeigt, ob die SEPA-Zahlung fehlgeschlagen ist
spilloverWordsinteger
stripeStatusstring
stripeSubscriptionIdstringStripe-Abonnement-ID
stripeSubscriptionItemIdstringID des Abonnementelements in Stripe (Abonnements sollten nur ein Element haben)
trialEndsAtstringreadonly von Stripe synchronisiert: Zeitstempel, wenn die Testphase endet
trialStartedAtstringreadonly von Stripe synchronisiert: wenn eine Testphase läuft, Datum, wann sie begonnen hat
updatedAtstring
usedWordsinteger
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
firstPaidSubscriptionAtstringWenn dieser Arbeitsbereich je ein bezahltes Abonnement hatte, enthält dies das Datum, an dem das erste begonnen hat
idstring
importedFromLegacyCustomerIdintegerveraltet Einige Kunden haben im Legacy-System keine zugewiesene Mannschaft als Besitzer, benötigen aber dennoch einen Arbeitsbereich, in den wir das Abonnement importieren können
importedFromLegacyTeamIdintegerveraltet: Felder, die derzeit noch für das Legacy-System benötigt werden ID der Legacy-Mannschaft, aus der dieser Arbeitsbereich importiert wurde
keystringMenschenlesbarer eindeutiger Bezeichner des Arbeitsbereichs
keyIndexintegerEindeutig generierter Index, der verwendet wird, um einen eindeutigen Schlüssel zu generieren
namestringName des Arbeitsbereichs
trialStartedAtstringWenn dieser Arbeitsbereich je ein Abonnement mit einer Testphase hatte, enthält dies den Zeitpunkt, wann sie begonnen hat
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,
"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}

Beispiel

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