Eine vollständige REST API für die öffentlichen Feedback-Portale. Ideen anlegen und beantworten, den Status pflegen, Beiträge und Kommentare moderieren, die Roadmap füllen und andere Systeme über Webhooks auf dem Laufenden halten. Die öffentlichen Portalseiten unter /p/{slug} bleiben davon unberührt.
https://creativeskyline.de/api/flowsaas/context
https://creativeskyline.de/api/flowsaas/portals
https://creativeskyline.de/api/flowsaas/posts
https://creativeskyline.de/api/flowsaas/roadmap-items
https://creativeskyline.de/api/flowsaas/reports/moderation
Melden Sie sich an, öffnen Sie Profil → API-Zugang und kopieren Sie Ihren persönlichen API-Key (pk_...).
Alle Anfragen benötigen diese HTTP-Header:
Authorization: Bearer pk_dein_api_key
Accept: application/json
Beginnen Sie mit GET /api/flowsaas/context. Die Antwort nennt alle Portale des Teams mit ihren Status und Schlagwörtern, die offenen Moderationszahlen und ob dieser Schlüssel die Verwaltungsberechtigung besitzt.
Erfolgreiche Anfragen antworten mit {"success": true, "data": ...}. Listen tragen zusätzlich meta mit current_page, per_page, total und last_page. Fehler antworten mit {"success": false, "error": "...", "message": "..."}.
/api/flowsaas/context
Liefert alle Portale des Teams mit Status, Schlagwörtern und offenen Moderationszahlen, dazu die möglichen Moderationszustände, die verfügbaren Webhook-Ereignisse und ob dieser Schlüssel die Verwaltungsberechtigung besitzt.
/api/flowsaas/reports/moderation
Zählt die wartenden Ideen und Kommentare aller Portale des Teams und liefert je bis zu zwanzig davon, neueste zuerst.
/api/flowsaas/reports/top-ideas
Die zwanzig freigegebenen Ideen mit den meisten Stimmen. Zusammengeführte Ideen bleiben außen vor, ihre Stimmen zählen bei der Idee, in die sie übernommen wurden.
/api/flowsaas/reports/roadmap
Die ersten fünfzig Roadmap-Einträge aller Portale in ihrer veröffentlichten Reihenfolge, jeweils mit Titel, Spalte und Stimmenzahl der dahinterliegenden Idee.
/api/flowsaas/reports/activity
Zählt neue Ideen und Kommentare der letzten dreißig Tage und liefert die zehn jüngsten Ideen dazu.
/api/flowsaas/portals
Alle Portale des Teams, neueste zuerst, mit der Zahl ihrer Ideen und der wartenden Beiträge.
search
string
Sucht in Name und Adresse des Portals.
is_active
boolean
Nur eingeschaltete beziehungsweise nur abgeschaltete Portale.
per_page
integer
Einträge pro Seite, 1 bis 200, Standard 50.
page
integer
Seitenzahl, Standard 1.
/api/flowsaas/portals
Legt ein Portal im Team des API-Schlüssels an, samt der fünf Standard-Status und der vier Standard-Schlagwörter. Verlangt die Verwaltungsberechtigung.
name
string
*
Anzeigename, mindestens drei Zeichen.
slug
string
Öffentliche Adresse unter /p/. Muss installationsweit eindeutig sein; ohne Angabe aus dem Namen abgeleitet.
description
string
Kurzbeschreibung für die Portalseite.
is_public
boolean
Ob das Portal öffentlich erreichbar ist. Standard true.
subdomain
string
Eigene Subdomain. Ohne Angabe wird der Slug übernommen.
default_language
string
de oder en. Standard de.
/api/flowsaas/portals/{uuid}
Ein Portal mit seinen Status, seinen Schlagwörtern und den offenen Moderationszahlen.
/api/flowsaas/portals/{uuid}
Ändert die gesendeten Felder; alles Übrige bleibt unangetastet. Enthält die Anfrage is_public, is_active oder seo_indexable, ist die Verwaltungsberechtigung nötig.
name
string
Anzeigename.
slug
string
Öffentliche Adresse. Eine Änderung bricht bestehende Links.
description
string
Kurzbeschreibung.
is_public
boolean
Öffentliche Erreichbarkeit. Verwaltungsberechtigung nötig.
is_active
boolean
Portal ein- oder ausschalten. Verwaltungsberechtigung nötig.
seo_indexable
boolean
Indexierung durch Suchmaschinen. Verwaltungsberechtigung nötig.
subdomain
string
Eigene Subdomain.
custom_domain
string
Eigene Domain.
dark_mode_enabled
boolean
Dunkler Modus im Portal.
default_language
string
de oder en.
voting_without_auth
boolean
Abstimmen ohne Anmeldung erlauben.
post_approval_required
boolean
Neue Ideen erst nach Freigabe zeigen.
comment_approval_required
boolean
Neue Kommentare erst nach Freigabe zeigen.
allow_anonymous_read
boolean
Lesen ohne Anmeldung erlauben.
lock_completed_ideas
boolean
Abgeschlossene Ideen für Kommentare sperren.
tag_limit
integer
Höchstzahl Schlagwörter je Idee. 0 bedeutet keine Grenze.
/api/flowsaas/portals/{uuid}
Löscht das Portal mit allen Ideen, Stimmen, Kommentaren, Status, Schlagwörtern, Roadmap-Einträgen und Webhooks. Verlangt die Verwaltungsberechtigung und ist nicht umkehrbar.
/api/flowsaas/portals/{uuid}/toggle-active
Kehrt den Schalter is_active um, ohne etwas im Portal zu verändern. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/portals/{uuid}/delete-all-ideas
Löscht jede Idee des Portals mit ihren Stimmen, Kommentaren, Verlauf und Roadmap-Einträgen. Das Portal selbst und sein Vokabular bleiben bestehen. Verlangt die Verwaltungsberechtigung und ist nicht umkehrbar.
/api/flowsaas/portals/{uuid}/company
Logos, Farbgebung und Anzeigename des Portals. Ein Portal ohne gepflegtes Erscheinungsbild antwortet mit seiner UUID und sonst leeren Feldern.
/api/flowsaas/portals/{uuid}/company
Schreibt die gesendeten Felder und legt den Datensatz bei der ersten Änderung an. Die Bildfelder erwarten fertige Adressen; die Schnittstelle lädt selbst keine Datei herunter.
name
string
Angezeigter Name im Portalkopf.
logo_url
string
Adresse des Logos für den hellen Modus.
logo_dark_url
string
Adresse des Logos für den dunklen Modus.
logo_landscape_url
string
Adresse des Querformat-Logos.
logo_landscape_dark_url
string
Adresse des Querformat-Logos für den dunklen Modus.
logo_layout_mode
string
square oder landscape.
logo_display_mode
string
logo_and_name oder logo_only.
logo_link
string
Ziel, auf das das Logo verweist.
favicon_url
string
Adresse des Favicons.
open_graph_image_url
string
Adresse des Vorschaubildes für soziale Netzwerke.
primary_color
string
Akzentfarbe als Hex-Wert, etwa #6392D9.
/api/flowsaas/portals/{uuid}/statuses
Alle Status des Portals in ihrer eigenen Reihenfolge. Die Liste ist nicht seitenweise, sie ist immer vollständig.
/api/flowsaas/portals/{uuid}/statuses
Hängt einen Status an das Ende der Liste des Portals.
name
string
*
Anzeigename des Status.
color
string
Farbe als sechsstelliger Hex-Wert, etwa #6392D9.
is_completed
boolean
Markiert den Status als Abschluss. Zusammen mit lock_completed_ideas sperrt er die Kommentare.
sort_order
integer
Position in der Liste. Ohne Angabe ans Ende.
/api/flowsaas/portals/{uuid}/statuses/reorder
Setzt die Reihenfolge der Status des Portals auf die gesendete Liste. UUIDs anderer Portale desselben Teams werden übergangen.
status_uuids
array
*
Die Status-UUIDs in der gewünschten Reihenfolge.
/api/flowsaas/statuses/{uuid}
Ändert Name, Farbe, Abschlusskennzeichen oder Position eines Status.
name
string
Anzeigename.
color
string
Sechsstelliger Hex-Wert.
is_completed
boolean
Abschlusskennzeichen.
sort_order
integer
Position in der Liste.
/api/flowsaas/statuses/{uuid}
Löscht den Status und hängt jede Idee, die ihn trug, auf den ersten verbleibenden Status des Portals um. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/portals/{uuid}/tags
Alle Schlagwörter des Portals in ihrer eigenen Reihenfolge, auch die zurückgezogenen.
/api/flowsaas/portals/{uuid}/tags
Hängt ein Schlagwort an das Ende der Liste des Portals.
name
string
*
Anzeigename des Schlagworts.
description
string
Erläuterung für die Portalseite.
is_active
boolean
Ob das Schlagwort angeboten wird. Standard true.
sort_order
integer
Position in der Liste. Ohne Angabe ans Ende.
/api/flowsaas/portals/{uuid}/tags/reorder
Setzt die Reihenfolge der Schlagwörter des Portals auf die gesendete Liste. UUIDs anderer Portale desselben Teams werden übergangen.
tag_uuids
array
*
Die Schlagwort-UUIDs in der gewünschten Reihenfolge.
/api/flowsaas/tags/{uuid}
Ändert Name, Erläuterung, Position oder ob das Schlagwort noch angeboten wird. Ein zurückgezogenes Schlagwort bleibt an jeder Idee, die es trägt.
name
string
Anzeigename.
description
string
Erläuterung.
is_active
boolean
Ob das Schlagwort angeboten wird.
sort_order
integer
Position in der Liste.
/api/flowsaas/tags/{uuid}
Löscht das Schlagwort; die Zuordnung verschwindet damit an jeder Idee, die es trug. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/posts
Die Ideen aller Portale des Teams. Zusammengeführte Ideen bleiben außen vor, sofern include_merged nicht gesetzt ist.
portal_uuid
string
Auf ein Portal einschränken.
status_uuid
string
Nur Ideen in diesem Status.
tag_uuid
string
Nur Ideen mit diesem Schlagwort.
moderation_status
string
pending, approved, rejected oder spam.
search
string
Sucht in Titel und Text der Idee.
is_private
boolean
Nur verborgene beziehungsweise nur sichtbare Ideen.
is_on_roadmap
boolean
Nur Ideen auf der Roadmap.
include_merged
boolean
Zusammengeführte Ideen mit aufnehmen.
sort
string
newest, oldest, votes oder comments. Standard newest.
per_page
integer
Einträge pro Seite, 1 bis 200, Standard 50.
page
integer
Seitenzahl, Standard 1.
/api/flowsaas/posts
Legt eine Idee im genannten Portal an, zugeschrieben an den Benutzer des API-Schlüssels und sofort freigegeben. Ohne Statusangabe landet sie im ersten Status des Portals, ohne Schlagwörter erhält sie das erste angebotene.
portal_uuid
string
*
Das Portal, in dem die Idee entsteht.
title
string
*
Titel, mindestens drei Zeichen.
body
string
Beschreibung der Idee.
status_uuid
string
Status des Portals. Ein Status eines anderen Portals wird übergangen.
tag_uuids
array
Schlagwörter des Portals. Die Grenze tag_limit des Portals gilt.
is_private
boolean
Die Idee vor Besuchern verbergen.
is_on_roadmap
boolean
Zugleich einen Roadmap-Eintrag anlegen.
/api/flowsaas/posts/{uuid}
Eine Idee mit ihren Schlagwörtern und ihrem vollständigen Statusverlauf.
/api/flowsaas/posts/{uuid}
Ändert die gesendeten Felder. Der Status gehört nicht dazu, er hat einen eigenen Endpunkt. Eine leere Liste tag_uuids nimmt alle Schlagwörter ab.
title
string
Titel.
body
string
Beschreibung.
is_private
boolean
Sichtbarkeit für Besucher.
is_pinned
boolean
Die Idee oben anheften.
is_archived
boolean
Die Idee archivieren.
tag_uuids
array
Die Schlagwörter, die danach gelten sollen.
/api/flowsaas/posts/{uuid}
Löscht die Idee mit ihren Stimmen, Kommentaren und ihrem Verlauf. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/posts/{uuid}/status
Setzt die Idee auf einen anderen Status ihres eigenen Portals. Schreibt einen Verlaufseintrag, löst die Portal-Webhooks aus und benachrichtigt alle Unterstützer. Ein Status eines anderen Portals antwortet mit HTTP 422 und error status_not_in_portal.
status_uuid
string
*
Der neue Status, aus dem Portal der Idee.
comment
string
Begründung, die im Verlauf festgehalten wird.
/api/flowsaas/posts/{uuid}/approve
Gibt eine wartende Idee für das Portal frei und benachrichtigt die verfassende Person. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/posts/{uuid}/reject
Lehnt eine Idee ab. Die Begründung wird gespeichert und erreicht die verfassende Person mit der Benachrichtigung. Verlangt die Verwaltungsberechtigung.
reason
string
Begründung der Ablehnung.
/api/flowsaas/posts/{uuid}/spam
Markiert eine Idee als Spam. Anders als bei der Ablehnung wird niemand benachrichtigt. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/posts/{uuid}/vote
Gibt eine Stimme im Namen des Benutzers des API-Schlüssels ab. Eine zweite Stimme derselben Person ist kein Fehler: added ist dann false und die Zahl bleibt unverändert.
/api/flowsaas/posts/{uuid}/vote
Nimmt die Stimme des Benutzers des API-Schlüssels zurück. Lag keine vor, ist removed false.
/api/flowsaas/posts/{uuid}/toggle-private
Kehrt die Sichtbarkeit für Portalbesucher um und meldet die Änderung an die Portal-Webhooks.
/api/flowsaas/posts/{uuid}/merge
Führt die Idee aus dem Pfad in die genannte Ziel-Idee desselben Portals über. Stimmen und öffentliche Kommentare wandern mit, interne Notizen bleiben beim Duplikat. Die Antwort zeigt die Ziel-Idee.
master_post_uuid
string
*
Die Idee, die bestehen bleibt. Muss zum selben Portal gehören und eine andere sein.
/api/flowsaas/posts/{uuid}/promote-to-roadmap
Legt einen Roadmap-Eintrag für die Idee an und markiert sie entsprechend. Steht sie bereits auf der Roadmap, antwortet die Route mit HTTP 422 und error already_on_roadmap.
/api/flowsaas/posts/{uuid}/similar
Bis zu zehn freigegebene, nicht abgeschlossene Ideen desselben Portals mit ähnlichem Wortlaut, die stimmstärksten zuerst. Die Idee selbst ist nicht dabei. Dieselbe Suche, die das Portal beim Schreiben anbietet.
/api/flowsaas/roadmap-items
Die Roadmap-Einträge aller Portale des Teams in ihrer veröffentlichten Reihenfolge.
portal_uuid
string
Auf ein Portal einschränken.
status_uuid
string
Nur Einträge in dieser Spalte.
per_page
integer
Einträge pro Seite, 1 bis 200, Standard 50.
page
integer
Seitenzahl, Standard 1.
/api/flowsaas/roadmap-items/{uuid}
Ein Roadmap-Eintrag mit Titel, Spalte und Stimmenzahl der Idee dahinter.
/api/flowsaas/roadmap-items/{uuid}
Ändert allein die Position innerhalb der bestehenden Spalte. Für einen Spaltenwechsel gibt es den Endpunkt move.
sort_order
integer
*
Neue Position, ab 0.
/api/flowsaas/roadmap-items/{uuid}
Nimmt den Eintrag von der Roadmap. Die Idee bleibt mit Stimmen und Kommentaren bestehen und verliert nur ihre Roadmap-Markierung. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/roadmap-items/{uuid}/move
Verschiebt den Eintrag in eine andere Spalte und an eine Position darin. Das ist ein Statuswechsel der Idee: er schreibt Verlauf, löst die Webhooks aus und benachrichtigt die Unterstützer. Die übrigen Einträge der Zielspalte werden neu durchnummeriert.
status_uuid
string
*
Die Zielspalte, ein Status desselben Portals.
sort_order
integer
*
Position in der Zielspalte, ab 0.
/api/flowsaas/roadmap-items/{uuid}/vote
Die Stimme landet auf der Idee hinter dem Eintrag, denn dort führt die Roadmap ihre Zahlen. Eine zweite Stimme derselben Person ist kein Fehler.
/api/flowsaas/portals/{uuid}/webhooks
Alle Webhooks des Portals, neueste zuerst, jeweils ohne Schlüssel.
/api/flowsaas/portals/{uuid}/webhooks
Registriert einen Webhook auf dem Portal. Die Antwort enthält einmalig den Schlüssel für die Signaturprüfung. Verlangt die Verwaltungsberechtigung.
url
string
*
Die Zieladresse der Zustellung.
events
array
*
Mindestens eines aus post.created, post.status_changed, post.updated, comment.created, vote.created.
secret
string
Eigener Schlüssel, mindestens 16 Zeichen. Ohne Angabe wird einer erzeugt.
is_active
boolean
Ob sofort zugestellt wird. Standard true.
/api/flowsaas/webhooks/{uuid}
Ein Webhook mit Zieladresse, abonnierten Ereignissen und Zeitpunkt der letzten erfolgreichen Zustellung. Der Schlüssel ist nicht dabei.
/api/flowsaas/webhooks/{uuid}
Ändert die gesendeten Felder. Ohne secret bleibt der hinterlegte Schlüssel unverändert, damit ein Adresswechsel nicht die Signaturprüfung beim Empfänger bricht. Verlangt die Verwaltungsberechtigung.
url
string
Neue Zieladresse.
events
array
Die Ereignisse, die danach gelten sollen.
secret
string
Neuer Schlüssel, mindestens 16 Zeichen. Wird nicht zurückgegeben.
is_active
boolean
Zustellung ein- oder ausschalten.
/api/flowsaas/webhooks/{uuid}
Löscht den Webhook samt seinem Zustellungsprotokoll. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/webhooks/{uuid}/test
Sendet eine signierte Testnachricht an die hinterlegte Adresse und meldet das Ergebnis zurück. Ein Empfänger, der mit einem Fehler antwortet, ist ein erfolgreicher Aufruf mit erfolglosem Ergebnis: delivered ist dann false. Verlangt die Verwaltungsberechtigung.
/api/flowsaas/webhooks/{uuid}/logs
Die Zustellversuche des Webhooks, neueste zuerst, jeweils mit der gesendeten Nutzlast und der Antwort des Empfängers.
event_type
string
Auf ein Ereignis einschränken, etwa post.created.
succeeded
boolean
Nur erfolgreiche beziehungsweise nur erfolglose Zustellungen.
per_page
integer
Einträge pro Seite, 1 bis 200, Standard 50.
page
integer
Seitenzahl, Standard 1.
/api/flowsaas/context
curl -X GET "https://creativeskyline.de/api/flowsaas/context" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/context');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/context', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/context',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"is_manager": true,
"moderation_states": [
"pending",
"approved",
"rejected",
"spam"
],
"webhook_events": [
"post.created",
"post.status_changed",
"post.updated",
"comment.created",
"vote.created"
],
"portals": [
{
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"public_url": "https://creativeskyline.de/p/produktfeedback",
"statuses": [],
"tags": [],
"pending_posts": 2,
"pending_comments": 0
}
]
}
}
/api/flowsaas/reports/moderation
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/moderation" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/moderation');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/moderation', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/moderation',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"pending_posts": 2,
"pending_comments": 1,
"posts": [],
"comments": []
}
}
/api/flowsaas/reports/top-ideas
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/top-ideas" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/top-ideas');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/top-ideas', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/top-ideas',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"ideas": [
{
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"votes_count": 42
}
]
}
}
/api/flowsaas/reports/roadmap
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/roadmap" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/roadmap');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/roadmap', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/roadmap',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"items": [
{
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"title": "Dunkelmodus",
"status_name": "In Arbeit",
"votes_count": 42,
"sort_order": 0
}
]
}
}
/api/flowsaas/reports/activity
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/activity" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/activity');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/activity', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/activity',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"window_days": 30,
"new_ideas": 7,
"new_comments": 12,
"latest": []
}
}
/api/flowsaas/portals
curl -X GET "https://creativeskyline.de/api/flowsaas/portals" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"slug": "produktfeedback",
"public_url": "https://creativeskyline.de/p/produktfeedback",
"is_public": true,
"is_active": true,
"tag_limit": 3,
"posts_count": 18,
"pending_posts_count": 2
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
/api/flowsaas/portals
curl -X POST "https://creativeskyline.de/api/flowsaas/portals" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "slug": "value", "description": "value", "is_public": true, "subdomain": "value", "default_language": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals', [
'name' => 'value',
'slug' => 'value',
'description' => 'value',
'is_public' => true,
'subdomain' => 'value',
'default_language' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
slug: 'value',
description: 'value',
is_public: true,
subdomain: 'value',
default_language: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'slug': 'value',
'description': 'value',
'is_public': True,
'subdomain': 'value',
'default_language': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"slug": "produktfeedback",
"is_public": true,
"is_active": true
}
}
/api/flowsaas/portals/{uuid}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"statuses": [],
"tags": [],
"pending_posts": 2,
"pending_comments": 0
}
}
/api/flowsaas/portals/{uuid}
curl -X PUT "https://creativeskyline.de/api/flowsaas/portals/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "slug": "value", "description": "value", "is_public": true, "is_active": true, "seo_indexable": true, "subdomain": "value", "custom_domain": "value", "dark_mode_enabled": true, "default_language": "value", "voting_without_auth": true, "post_approval_required": true, "comment_approval_required": true, "allow_anonymous_read": true, "lock_completed_ideas": true, "tag_limit": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/portals/{uuid}', [
'name' => 'value',
'slug' => 'value',
'description' => 'value',
'is_public' => true,
'is_active' => true,
'seo_indexable' => true,
'subdomain' => 'value',
'custom_domain' => 'value',
'dark_mode_enabled' => true,
'default_language' => 'value',
'voting_without_auth' => true,
'post_approval_required' => true,
'comment_approval_required' => true,
'allow_anonymous_read' => true,
'lock_completed_ideas' => true,
'tag_limit' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
slug: 'value',
description: 'value',
is_public: true,
is_active: true,
seo_indexable: true,
subdomain: 'value',
custom_domain: 'value',
dark_mode_enabled: true,
default_language: 'value',
voting_without_auth: true,
post_approval_required: true,
comment_approval_required: true,
allow_anonymous_read: true,
lock_completed_ideas: true,
tag_limit: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'slug': 'value',
'description': 'value',
'is_public': True,
'is_active': True,
'seo_indexable': True,
'subdomain': 'value',
'custom_domain': 'value',
'dark_mode_enabled': True,
'default_language': 'value',
'voting_without_auth': True,
'post_approval_required': True,
'comment_approval_required': True,
'allow_anonymous_read': True,
'lock_completed_ideas': True,
'tag_limit': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktwünsche",
"tag_limit": 3
}
}
/api/flowsaas/portals/{uuid}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/portals/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/portals/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Portal \"Produktfeedback\" gelöscht."
}
/api/flowsaas/portals/{uuid}/toggle-active
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"is_active": false
}
}
/api/flowsaas/portals/{uuid}/delete-all-ideas
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"deleted_posts": 18
},
"message": "Alle Ideen dieses Portals wurden gelöscht."
}
/api/flowsaas/portals/{uuid}/company
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/company" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/company',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Creative Skyline",
"logo_url": "https://creativeskyline.de/storage/portals/logos/logo.png",
"primary_color": "#6392D9"
}
}
/api/flowsaas/portals/{uuid}/company
curl -X PUT "https://creativeskyline.de/api/flowsaas/portals/{uuid}/company" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "logo_url": "value", "logo_dark_url": "value", "logo_landscape_url": "value", "logo_landscape_dark_url": "value", "logo_layout_mode": "value", "logo_display_mode": "value", "logo_link": "value", "favicon_url": "value", "open_graph_image_url": "value", "primary_color": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company', [
'name' => 'value',
'logo_url' => 'value',
'logo_dark_url' => 'value',
'logo_landscape_url' => 'value',
'logo_landscape_dark_url' => 'value',
'logo_layout_mode' => 'value',
'logo_display_mode' => 'value',
'logo_link' => 'value',
'favicon_url' => 'value',
'open_graph_image_url' => 'value',
'primary_color' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
logo_url: 'value',
logo_dark_url: 'value',
logo_landscape_url: 'value',
logo_landscape_dark_url: 'value',
logo_layout_mode: 'value',
logo_display_mode: 'value',
logo_link: 'value',
favicon_url: 'value',
open_graph_image_url: 'value',
primary_color: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'logo_url': 'value',
'logo_dark_url': 'value',
'logo_landscape_url': 'value',
'logo_landscape_dark_url': 'value',
'logo_layout_mode': 'value',
'logo_display_mode': 'value',
'logo_link': 'value',
'favicon_url': 'value',
'open_graph_image_url': 'value',
'primary_color': 'value',
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/company',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Creative Skyline",
"primary_color": "#6392D9"
}
}
/api/flowsaas/portals/{uuid}/statuses
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "Feedback",
"color": "#6392D9",
"is_completed": false,
"sort_order": 1
}
]
}
/api/flowsaas/portals/{uuid}/statuses
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "color": "value", "is_completed": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses', [
'name' => 'value',
'color' => 'value',
'is_completed' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
color: 'value',
is_completed: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'color': 'value',
'is_completed': True,
'sort_order': 0,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "Wird geprüft",
"sort_order": 6
}
}
/api/flowsaas/portals/{uuid}/statuses/reorder
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status_uuids": []}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder', [
'status_uuids' => [],
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
status_uuids: [],
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'status_uuids': [],
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "Fertig",
"sort_order": 1
}
]
}
/api/flowsaas/statuses/{uuid}
curl -X PUT "https://creativeskyline.de/api/flowsaas/statuses/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "color": "value", "is_completed": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/statuses/{uuid}', [
'name' => 'value',
'color' => 'value',
'is_completed' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/statuses/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
color: 'value',
is_completed: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'color': 'value',
'is_completed': True,
'sort_order': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/statuses/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "In Prüfung",
"color": "#10B981",
"is_completed": true
}
}
/api/flowsaas/statuses/{uuid}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/statuses/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/statuses/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/statuses/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/statuses/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Status gelöscht; betroffene Ideen wurden umgehängt."
}
/api/flowsaas/portals/{uuid}/tags
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"name": "Bug 🐞",
"is_active": true,
"sort_order": 2
}
]
}
/api/flowsaas/portals/{uuid}/tags
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "description": "value", "is_active": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags', [
'name' => 'value',
'description' => 'value',
'is_active' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
description: 'value',
is_active: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'description': 'value',
'is_active': True,
'sort_order': 0,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"name": "Dokumentation",
"is_active": true
}
}
/api/flowsaas/portals/{uuid}/tags/reorder
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"tag_uuids": []}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder', [
'tag_uuids' => [],
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tag_uuids: [],
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'tag_uuids': [],
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"name": "Dokumentation",
"sort_order": 1
}
]
}
/api/flowsaas/tags/{uuid}
curl -X PUT "https://creativeskyline.de/api/flowsaas/tags/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "description": "value", "is_active": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/tags/{uuid}', [
'name' => 'value',
'description' => 'value',
'is_active' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/tags/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
description: 'value',
is_active: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'description': 'value',
'is_active': True,
'sort_order': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/tags/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"is_active": false
}
}
/api/flowsaas/tags/{uuid}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/tags/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/tags/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/tags/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/tags/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Schlagwort gelöscht."
}
/api/flowsaas/posts
curl -X GET "https://creativeskyline.de/api/flowsaas/posts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"title": "Dunkelmodus",
"status_name": "Backlog",
"moderation_status": "approved",
"is_public": true,
"votes_count": 42,
"comments_count": 3,
"author_name": "Sascha",
"author_kind": "user"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
/api/flowsaas/posts
curl -X POST "https://creativeskyline.de/api/flowsaas/posts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"portal_uuid": "value", "title": "value", "body": "value", "status_uuid": "value", "tag_uuids": [], "is_private": true, "is_on_roadmap": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts', [
'portal_uuid' => 'value',
'title' => 'value',
'body' => 'value',
'status_uuid' => 'value',
'tag_uuids' => [],
'is_private' => true,
'is_on_roadmap' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
portal_uuid: 'value',
title: 'value',
body: 'value',
status_uuid: 'value',
tag_uuids: [],
is_private: true,
is_on_roadmap: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'portal_uuid': 'value',
'title': 'value',
'body': 'value',
'status_uuid': 'value',
'tag_uuids': [],
'is_private': True,
'is_on_roadmap': True,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"moderation_status": "approved",
"author_kind": "user"
}
}
/api/flowsaas/posts/{uuid}
curl -X GET "https://creativeskyline.de/api/flowsaas/posts/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"tags": [],
"status_history": [
{
"old_status": "Feedback",
"new_status": "Backlog",
"changed_by_name": "Sascha"
}
]
}
}
/api/flowsaas/posts/{uuid}
curl -X PUT "https://creativeskyline.de/api/flowsaas/posts/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"title": "value", "body": "value", "is_private": true, "is_pinned": true, "is_archived": true, "tag_uuids": []}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/posts/{uuid}', [
'title' => 'value',
'body' => 'value',
'is_private' => true,
'is_pinned' => true,
'is_archived' => true,
'tag_uuids' => [],
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'value',
body: 'value',
is_private: true,
is_pinned: true,
is_archived: true,
tag_uuids: [],
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'title': 'value',
'body': 'value',
'is_private': True,
'is_pinned': True,
'is_archived': True,
'tag_uuids': [],
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus, bitte",
"tags": []
}
}
/api/flowsaas/posts/{uuid}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/posts/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/posts/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Idee gelöscht."
}
/api/flowsaas/posts/{uuid}/status
curl -X PUT "https://creativeskyline.de/api/flowsaas/posts/{uuid}/status" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status_uuid": "value", "comment": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/posts/{uuid}/status', [
'status_uuid' => 'value',
'comment' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/status', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
status_uuid: 'value',
comment: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'status_uuid': 'value',
'comment': 'value',
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/status',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"status_uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"status_name": "In Arbeit"
}
}
/api/flowsaas/posts/{uuid}/approve
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"moderation_status": "approved"
}
}
/api/flowsaas/posts/{uuid}/reject
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"reason": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject', [
'reason' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
reason: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'reason': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"moderation_status": "rejected",
"rejection_reason": "Doppelt vorhanden."
}
}
/api/flowsaas/posts/{uuid}/spam
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"moderation_status": "spam"
}
}
/api/flowsaas/posts/{uuid}/vote
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"added": true,
"votes_count": 43
},
"message": "Stimme abgegeben."
}
/api/flowsaas/posts/{uuid}/vote
curl -X DELETE "https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"removed": true,
"votes_count": 42
},
"message": "Stimme zurückgezogen."
}
/api/flowsaas/posts/{uuid}/toggle-private
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"is_private": true,
"is_public": false
}
}
/api/flowsaas/posts/{uuid}/merge
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"master_post_uuid": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge', [
'master_post_uuid' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
master_post_uuid: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'master_post_uuid': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "d3e5f7a9-0b2c-4d6e-8f01-234567890abc",
"votes_count": 45
},
"message": "Als Duplikat zusammengeführt."
}
/api/flowsaas/posts/{uuid}/promote-to-roadmap
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"post_uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"sort_order": 0
}
}
/api/flowsaas/posts/{uuid}/similar
curl -X GET "https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "d3e5f7a9-0b2c-4d6e-8f01-234567890abc",
"title": "Dunkelmodus wäre schön",
"votes_count": 12
}
]
}
/api/flowsaas/posts/{uuid}/comments
curl -X GET "https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"post_uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"body": "Danke für den Hinweis.",
"is_internal": false,
"moderation_status": "approved",
"author_kind": "user"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
/api/flowsaas/posts/{uuid}/comments
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"body": "value", "is_internal": true, "parent_comment_uuid": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments', [
'body' => 'value',
'is_internal' => true,
'parent_comment_uuid' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
body: 'value',
is_internal: true,
parent_comment_uuid: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'body': 'value',
'is_internal': True,
'parent_comment_uuid': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"body": "Danke für den Hinweis.",
"is_internal": false,
"moderation_status": "approved"
}
}
/api/flowsaas/comments/{uuid}/reply
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"body": "value", "is_internal": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply', [
'body' => 'value',
'is_internal' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
body: 'value',
is_internal: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'body': 'value',
'is_internal': True,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "8b0d2f46-5e79-4c13-8f0b-4a6d2e9c1f35",
"parent_comment_uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"body": "Wir melden uns."
}
}
/api/flowsaas/comments/{uuid}/approve
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "approved"
}
}
/api/flowsaas/comments/{uuid}/reject
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "rejected"
}
}
/api/flowsaas/comments/{uuid}/spam
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "spam"
}
}
/api/flowsaas/comments/{uuid}/moderation
curl -X PUT "https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"moderation_status": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation', [
'moderation_status' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
moderation_status: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'moderation_status': 'value',
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "pending"
}
}
/api/flowsaas/roadmap-items
curl -X GET "https://creativeskyline.de/api/flowsaas/roadmap-items" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/roadmap-items');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/roadmap-items',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"post_uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"status_name": "In Arbeit",
"votes_count": 42,
"sort_order": 0
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
/api/flowsaas/roadmap-items/{uuid}
curl -X GET "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"title": "Dunkelmodus",
"status_name": "In Arbeit",
"votes_count": 42
}
}
/api/flowsaas/roadmap-items/{uuid}
curl -X PUT "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', [
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'sort_order': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"sort_order": 4
}
}
/api/flowsaas/roadmap-items/{uuid}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Roadmap-Eintrag entfernt."
}
/api/flowsaas/roadmap-items/{uuid}/move
curl -X POST "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status_uuid": "value", "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move', [
'status_uuid' => 'value',
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
status_uuid: 'value',
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'status_uuid': 'value',
'sort_order': 0,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"status_name": "In Arbeit",
"sort_order": 0
}
}
/api/flowsaas/roadmap-items/{uuid}/vote
curl -X POST "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"added": true,
"votes_count": 43
},
"message": "Stimme abgegeben."
}
/api/flowsaas/portals/{uuid}/webhooks
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/flowsaas",
"events": [
"post.created"
],
"is_active": true,
"last_triggered_at": "2026-09-20T15:02:00+02:00"
}
]
}
/api/flowsaas/portals/{uuid}/webhooks
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"url": "value", "events": [], "secret": "value", "is_active": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks', [
'url' => 'value',
'events' => [],
'secret' => 'value',
'is_active' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'value',
events: [],
secret: 'value',
is_active: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'url': 'value',
'events': [],
'secret': 'value',
'is_active': True,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/flowsaas",
"events": [
"post.created"
],
"is_active": true,
"secret": "Hn3k9QxT2bVr7LpZ4wYs8CmA1dFgJ6e0"
},
"message": "Der Schlüssel wird nur dieses eine Mal angezeigt. Bitte sicher aufbewahren."
}
/api/flowsaas/webhooks/{uuid}
curl -X GET "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/flowsaas",
"events": [
"post.created"
],
"is_active": true
}
}
/api/flowsaas/webhooks/{uuid}
curl -X PUT "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"url": "value", "events": [], "secret": "value", "is_active": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', [
'url' => 'value',
'events' => [],
'secret' => 'value',
'is_active' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'value',
events: [],
secret: 'value',
is_active: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'url': 'value',
'events': [],
'secret': 'value',
'is_active': True,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/neu",
"is_active": false
}
}
/api/flowsaas/webhooks/{uuid}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Webhook gelöscht."
}
/api/flowsaas/webhooks/{uuid}/test
curl -X POST "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"delivered": true,
"http_status": 200,
"response_body": "ok"
}
}
/api/flowsaas/webhooks/{uuid}/logs
curl -X GET "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "9c1e3f57-6a8b-4d2e-9f01-3b5d7c9e1a24",
"event_reference": "1f2e3d4c-5b6a-4790-8123-456789abcdef",
"event_type": "post.created",
"http_status": 200,
"succeeded_at": "2026-09-20T15:02:00+02:00"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/context" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/context');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/context', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/context',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"is_manager": true,
"moderation_states": [
"pending",
"approved",
"rejected",
"spam"
],
"webhook_events": [
"post.created",
"post.status_changed",
"post.updated",
"comment.created",
"vote.created"
],
"portals": [
{
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"public_url": "https://creativeskyline.de/p/produktfeedback",
"statuses": [],
"tags": [],
"pending_posts": 2,
"pending_comments": 0
}
]
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/moderation" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/moderation');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/moderation', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/moderation',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"pending_posts": 2,
"pending_comments": 1,
"posts": [],
"comments": []
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/top-ideas" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/top-ideas');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/top-ideas', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/top-ideas',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"ideas": [
{
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"votes_count": 42
}
]
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/roadmap" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/roadmap');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/roadmap', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/roadmap',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"items": [
{
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"title": "Dunkelmodus",
"status_name": "In Arbeit",
"votes_count": 42,
"sort_order": 0
}
]
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/reports/activity" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/reports/activity');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/reports/activity', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/reports/activity',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"window_days": 30,
"new_ideas": 7,
"new_comments": 12,
"latest": []
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"slug": "produktfeedback",
"public_url": "https://creativeskyline.de/p/produktfeedback",
"is_public": true,
"is_active": true,
"tag_limit": 3,
"posts_count": 18,
"pending_posts_count": 2
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "slug": "value", "description": "value", "is_public": true, "subdomain": "value", "default_language": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals', [
'name' => 'value',
'slug' => 'value',
'description' => 'value',
'is_public' => true,
'subdomain' => 'value',
'default_language' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
slug: 'value',
description: 'value',
is_public: true,
subdomain: 'value',
default_language: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'slug': 'value',
'description': 'value',
'is_public': True,
'subdomain': 'value',
'default_language': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"slug": "produktfeedback",
"is_public": true,
"is_active": true
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktfeedback",
"statuses": [],
"tags": [],
"pending_posts": 2,
"pending_comments": 0
}
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/portals/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "slug": "value", "description": "value", "is_public": true, "is_active": true, "seo_indexable": true, "subdomain": "value", "custom_domain": "value", "dark_mode_enabled": true, "default_language": "value", "voting_without_auth": true, "post_approval_required": true, "comment_approval_required": true, "allow_anonymous_read": true, "lock_completed_ideas": true, "tag_limit": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/portals/{uuid}', [
'name' => 'value',
'slug' => 'value',
'description' => 'value',
'is_public' => true,
'is_active' => true,
'seo_indexable' => true,
'subdomain' => 'value',
'custom_domain' => 'value',
'dark_mode_enabled' => true,
'default_language' => 'value',
'voting_without_auth' => true,
'post_approval_required' => true,
'comment_approval_required' => true,
'allow_anonymous_read' => true,
'lock_completed_ideas' => true,
'tag_limit' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
slug: 'value',
description: 'value',
is_public: true,
is_active: true,
seo_indexable: true,
subdomain: 'value',
custom_domain: 'value',
dark_mode_enabled: true,
default_language: 'value',
voting_without_auth: true,
post_approval_required: true,
comment_approval_required: true,
allow_anonymous_read: true,
lock_completed_ideas: true,
tag_limit: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'slug': 'value',
'description': 'value',
'is_public': True,
'is_active': True,
'seo_indexable': True,
'subdomain': 'value',
'custom_domain': 'value',
'dark_mode_enabled': True,
'default_language': 'value',
'voting_without_auth': True,
'post_approval_required': True,
'comment_approval_required': True,
'allow_anonymous_read': True,
'lock_completed_ideas': True,
'tag_limit': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Produktwünsche",
"tag_limit": 3
}
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/portals/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/portals/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Portal \"Produktfeedback\" gelöscht."
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/toggle-active',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"is_active": false
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/delete-all-ideas',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"deleted_posts": 18
},
"message": "Alle Ideen dieses Portals wurden gelöscht."
}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/company" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/company',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Creative Skyline",
"logo_url": "https://creativeskyline.de/storage/portals/logos/logo.png",
"primary_color": "#6392D9"
}
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/portals/{uuid}/company" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "logo_url": "value", "logo_dark_url": "value", "logo_landscape_url": "value", "logo_landscape_dark_url": "value", "logo_layout_mode": "value", "logo_display_mode": "value", "logo_link": "value", "favicon_url": "value", "open_graph_image_url": "value", "primary_color": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company', [
'name' => 'value',
'logo_url' => 'value',
'logo_dark_url' => 'value',
'logo_landscape_url' => 'value',
'logo_landscape_dark_url' => 'value',
'logo_layout_mode' => 'value',
'logo_display_mode' => 'value',
'logo_link' => 'value',
'favicon_url' => 'value',
'open_graph_image_url' => 'value',
'primary_color' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/company', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
logo_url: 'value',
logo_dark_url: 'value',
logo_landscape_url: 'value',
logo_landscape_dark_url: 'value',
logo_layout_mode: 'value',
logo_display_mode: 'value',
logo_link: 'value',
favicon_url: 'value',
open_graph_image_url: 'value',
primary_color: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'logo_url': 'value',
'logo_dark_url': 'value',
'logo_landscape_url': 'value',
'logo_landscape_dark_url': 'value',
'logo_layout_mode': 'value',
'logo_display_mode': 'value',
'logo_link': 'value',
'favicon_url': 'value',
'open_graph_image_url': 'value',
'primary_color': 'value',
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/company',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"name": "Creative Skyline",
"primary_color": "#6392D9"
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "Feedback",
"color": "#6392D9",
"is_completed": false,
"sort_order": 1
}
]
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "color": "value", "is_completed": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses', [
'name' => 'value',
'color' => 'value',
'is_completed' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
color: 'value',
is_completed: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'color': 'value',
'is_completed': True,
'sort_order': 0,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "Wird geprüft",
"sort_order": 6
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status_uuids": []}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder', [
'status_uuids' => [],
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
status_uuids: [],
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'status_uuids': [],
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/statuses/reorder',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "Fertig",
"sort_order": 1
}
]
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/statuses/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "color": "value", "is_completed": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/statuses/{uuid}', [
'name' => 'value',
'color' => 'value',
'is_completed' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/statuses/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
color: 'value',
is_completed: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'color': 'value',
'is_completed': True,
'sort_order': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/statuses/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"name": "In Prüfung",
"color": "#10B981",
"is_completed": true
}
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/statuses/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/statuses/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/statuses/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/statuses/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Status gelöscht; betroffene Ideen wurden umgehängt."
}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"name": "Bug 🐞",
"is_active": true,
"sort_order": 2
}
]
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "description": "value", "is_active": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags', [
'name' => 'value',
'description' => 'value',
'is_active' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
description: 'value',
is_active: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'description': 'value',
'is_active': True,
'sort_order': 0,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"name": "Dokumentation",
"is_active": true
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"tag_uuids": []}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder', [
'tag_uuids' => [],
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tag_uuids: [],
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'tag_uuids': [],
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/tags/reorder',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"name": "Dokumentation",
"sort_order": 1
}
]
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/tags/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "value", "description": "value", "is_active": true, "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/tags/{uuid}', [
'name' => 'value',
'description' => 'value',
'is_active' => true,
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/tags/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'value',
description: 'value',
is_active: true,
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'name': 'value',
'description': 'value',
'is_active': True,
'sort_order': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/tags/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "b2d4e6f8-1a3c-4e5f-8907-abcdef012345",
"is_active": false
}
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/tags/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/tags/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/tags/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/tags/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Schlagwort gelöscht."
}
curl -X GET "https://creativeskyline.de/api/flowsaas/posts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"title": "Dunkelmodus",
"status_name": "Backlog",
"moderation_status": "approved",
"is_public": true,
"votes_count": 42,
"comments_count": 3,
"author_name": "Sascha",
"author_kind": "user"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"portal_uuid": "value", "title": "value", "body": "value", "status_uuid": "value", "tag_uuids": [], "is_private": true, "is_on_roadmap": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts', [
'portal_uuid' => 'value',
'title' => 'value',
'body' => 'value',
'status_uuid' => 'value',
'tag_uuids' => [],
'is_private' => true,
'is_on_roadmap' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
portal_uuid: 'value',
title: 'value',
body: 'value',
status_uuid: 'value',
tag_uuids: [],
is_private: true,
is_on_roadmap: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'portal_uuid': 'value',
'title': 'value',
'body': 'value',
'status_uuid': 'value',
'tag_uuids': [],
'is_private': True,
'is_on_roadmap': True,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"moderation_status": "approved",
"author_kind": "user"
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/posts/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"tags": [],
"status_history": [
{
"old_status": "Feedback",
"new_status": "Backlog",
"changed_by_name": "Sascha"
}
]
}
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/posts/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"title": "value", "body": "value", "is_private": true, "is_pinned": true, "is_archived": true, "tag_uuids": []}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/posts/{uuid}', [
'title' => 'value',
'body' => 'value',
'is_private' => true,
'is_pinned' => true,
'is_archived' => true,
'tag_uuids' => [],
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'value',
body: 'value',
is_private: true,
is_pinned: true,
is_archived: true,
tag_uuids: [],
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'title': 'value',
'body': 'value',
'is_private': True,
'is_pinned': True,
'is_archived': True,
'tag_uuids': [],
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus, bitte",
"tags": []
}
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/posts/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/posts/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Idee gelöscht."
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/posts/{uuid}/status" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status_uuid": "value", "comment": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/posts/{uuid}/status', [
'status_uuid' => 'value',
'comment' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/status', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
status_uuid: 'value',
comment: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'status_uuid': 'value',
'comment': 'value',
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/status',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"status_uuid": "3a7c2f11-8b4e-4d62-9a05-1c6e8f0b2d43",
"status_name": "In Arbeit"
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/approve',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"moderation_status": "approved"
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"reason": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject', [
'reason' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
reason: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'reason': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/reject',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"moderation_status": "rejected",
"rejection_reason": "Doppelt vorhanden."
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/spam',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"moderation_status": "spam"
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"added": true,
"votes_count": 43
},
"message": "Stimme abgegeben."
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/vote',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"removed": true,
"votes_count": 42
},
"message": "Stimme zurückgezogen."
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/toggle-private',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"is_private": true,
"is_public": false
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"master_post_uuid": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge', [
'master_post_uuid' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
master_post_uuid: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'master_post_uuid': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/merge',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "d3e5f7a9-0b2c-4d6e-8f01-234567890abc",
"votes_count": 45
},
"message": "Als Duplikat zusammengeführt."
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/promote-to-roadmap',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"post_uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"sort_order": 0
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/similar',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "d3e5f7a9-0b2c-4d6e-8f01-234567890abc",
"title": "Dunkelmodus wäre schön",
"votes_count": 12
}
]
}
curl -X GET "https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"post_uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"body": "Danke für den Hinweis.",
"is_internal": false,
"moderation_status": "approved",
"author_kind": "user"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"body": "value", "is_internal": true, "parent_comment_uuid": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments', [
'body' => 'value',
'is_internal' => true,
'parent_comment_uuid' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
body: 'value',
is_internal: true,
parent_comment_uuid: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'body': 'value',
'is_internal': True,
'parent_comment_uuid': 'value',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/posts/{uuid}/comments',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"body": "Danke für den Hinweis.",
"is_internal": false,
"moderation_status": "approved"
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"body": "value", "is_internal": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply', [
'body' => 'value',
'is_internal' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
body: 'value',
is_internal: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'body': 'value',
'is_internal': True,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/reply',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "8b0d2f46-5e79-4c13-8f0b-4a6d2e9c1f35",
"parent_comment_uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"body": "Wir melden uns."
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/approve',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "approved"
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/reject',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "rejected"
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/spam',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "spam"
}
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"moderation_status": "value"}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation', [
'moderation_status' => 'value',
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
moderation_status: 'value',
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'moderation_status': 'value',
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/comments/{uuid}/moderation',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "7a9c1e35-4d68-4b02-9e7a-3f5c1d8b0e24",
"moderation_status": "pending"
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/roadmap-items" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/roadmap-items');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/roadmap-items',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"portal_uuid": "9d2f4c1a-7b3e-4f8a-9c5d-1e6a8b0c2d4f",
"post_uuid": "c1b5a0d2-9e33-4f10-8a77-6b2c4d1e9f08",
"title": "Dunkelmodus",
"status_name": "In Arbeit",
"votes_count": 42,
"sort_order": 0
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"title": "Dunkelmodus",
"status_name": "In Arbeit",
"votes_count": 42
}
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', [
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'sort_order': 0,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"sort_order": 4
}
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Roadmap-Eintrag entfernt."
}
curl -X POST "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status_uuid": "value", "sort_order": 0}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move', [
'status_uuid' => 'value',
'sort_order' => 0,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
status_uuid: 'value',
sort_order: 0,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'status_uuid': 'value',
'sort_order': 0,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/move',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "5f1e7b90-2c44-4a19-9f3d-7c8b1a2e6d05",
"status_name": "In Arbeit",
"sort_order": 0
}
}
curl -X POST "https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/roadmap-items/{uuid}/vote',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"added": true,
"votes_count": 43
},
"message": "Stimme abgegeben."
}
curl -X GET "https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/flowsaas",
"events": [
"post.created"
],
"is_active": true,
"last_triggered_at": "2026-09-20T15:02:00+02:00"
}
]
}
curl -X POST "https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"url": "value", "events": [], "secret": "value", "is_active": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks', [
'url' => 'value',
'events' => [],
'secret' => 'value',
'is_active' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'value',
events: [],
secret: 'value',
is_active: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'url': 'value',
'events': [],
'secret': 'value',
'is_active': True,
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/portals/{uuid}/webhooks',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/flowsaas",
"events": [
"post.created"
],
"is_active": true,
"secret": "Hn3k9QxT2bVr7LpZ4wYs8CmA1dFgJ6e0"
},
"message": "Der Schlüssel wird nur dieses eine Mal angezeigt. Bitte sicher aufbewahren."
}
curl -X GET "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/flowsaas",
"events": [
"post.created"
],
"is_active": true
}
}
curl -X PUT "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"url": "value", "events": [], "secret": "value", "is_active": true}'
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->put('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', [
'url' => 'value',
'events' => [],
'secret' => 'value',
'is_active' => true,
]);
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'value',
events: [],
secret: 'value',
is_active: true,
}),
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
payload = {
'url': 'value',
'events': [],
'secret': 'value',
'is_active': True,
}
response = requests.put(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}',
headers=headers,
json=payload,
)
data = response.json()
{
"success": true,
"data": {
"uuid": "e4f6a8b0-2c4d-4e6f-8091-a2b3c4d5e6f7",
"url": "https://example.com/hooks/neu",
"is_active": false
}
}
curl -X DELETE "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->delete('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.delete(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}',
headers=headers,
)
data = response.json()
{
"success": true,
"message": "Webhook gelöscht."
}
curl -X POST "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->post('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.post(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/test',
headers=headers,
)
data = response.json()
{
"success": true,
"data": {
"delivered": true,
"http_status": 200,
"response_body": "ok"
}
}
curl -X GET "https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_TOKEN')
->get('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs');
$data = $response->json();
const response = await fetch('https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
},
});
const data = await response.json();
import requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
}
response = requests.get(
'https://creativeskyline.de/api/flowsaas/webhooks/{uuid}/logs',
headers=headers,
)
data = response.json()
{
"success": true,
"data": [
{
"uuid": "9c1e3f57-6a8b-4d2e-9f01-3b5d7c9e1a24",
"event_reference": "1f2e3d4c-5b6a-4790-8123-456789abcdef",
"event_type": "post.created",
"http_status": 200,
"succeeded_at": "2026-09-20T15:02:00+02:00"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"last_page": 1
}
}
💬 Kommentare
Kommentare einer Idee auflisten
/api/flowsaas/posts/{uuid}/commentsAlle Kommentare der Idee, älteste zuerst, einschließlich der internen Notizen und der wartenden Beiträge.
Query-Parameter:
moderation_statusstring pending, approved, rejected oder spam.is_internalboolean Nur interne Notizen beziehungsweise nur öffentliche Kommentare.per_pageinteger Einträge pro Seite, 1 bis 200, Standard 50.pageinteger Seitenzahl, Standard 1.Kommentar schreiben
/api/flowsaas/posts/{uuid}/commentsSchreibt einen Kommentar im Namen des Benutzers des API-Schlüssels. Er gilt sofort als freigegeben. Ein Bezugskommentar muss zu derselben Idee gehören, sonst antwortet die Route mit HTTP 422 und error parent_not_in_post.
Request Body:
bodystring * Der Text des Kommentars, höchstens 2000 Zeichen.is_internalboolean true macht daraus eine Teamnotiz. Standard false, also öffentlich sichtbar.parent_comment_uuidstring Der Kommentar, auf den geantwortet wird. Muss zu dieser Idee gehören.Auf einen Kommentar antworten
/api/flowsaas/comments/{uuid}/replyAntwortet auf den Kommentar im Pfad. Die Idee ergibt sich aus diesem Kommentar, eine Antwort kann daher nie in einem fremden Strang landen.
Request Body:
bodystring * Der Text der Antwort, höchstens 2000 Zeichen.is_internalboolean true macht daraus eine Teamnotiz.Kommentar freigeben
/api/flowsaas/comments/{uuid}/approveGibt einen wartenden Kommentar für das Portal frei und benachrichtigt die verfassende Person. Verlangt die Verwaltungsberechtigung.
Kommentar ablehnen
/api/flowsaas/comments/{uuid}/rejectLehnt einen Kommentar ab und benachrichtigt die verfassende Person. Verlangt die Verwaltungsberechtigung.
Kommentar als Spam markieren
/api/flowsaas/comments/{uuid}/spamMarkiert einen Kommentar als Spam, ohne jemanden zu benachrichtigen. Verlangt die Verwaltungsberechtigung.
Moderationszustand eines Kommentars setzen
/api/flowsaas/comments/{uuid}/moderationSetzt den Zustand ausdrücklich. Anders als die drei Kurzwege erreicht dieser Endpunkt auch pending und stellt einen Kommentar damit zurück in die Warteschlange. Verlangt die Verwaltungsberechtigung.
Request Body:
moderation_statusstring * pending, approved, rejected oder spam.