Erfahren Sie alles über die Authentifizierung bei unseren APIs. Von der Token-Erstellung bis zur sicheren Implementierung in Ihrer Anwendung.
Alle unsere APIs verwenden die gleiche Authentifizierungsmethode:
Alle APIs verwenden die gleiche Authentifizierungsmethode: Sende deinen persönlichen API-Key (pk_...) oder einen benutzerdefinierten Token (at_...) als Bearer Token im Authorization Header.
Verfügbare APIs: Team Management, FlowTime, FlowTasks, FlowCRM, FlowSend, IP Geolocation, Email Verifier, Maps, YouTube Analytics
Bevor Sie die APIs nutzen können, benötigen Sie:
Alle APIs verwenden die Standard Bearer-Token-Authentifizierung. Senden Sie Ihren persönlichen API-Key (pk_...) oder einen benutzerdefinierten Token (at_...) im Authorization-Header mit.
Wird automatisch für jeden Benutzer erstellt und ist immer unter Profil → API-Zugang sichtbar. Er kann jederzeit regeneriert werden — der alte Key wird dabei sofort ungültig.
Können mit oder ohne Ablaufdatum erstellt werden. Token ohne Ablaufdatum bleiben bis zur manuellen Löschung gültig. Ideal für separate Anwendungen oder Dienste.
Sie können jeden Token jederzeit regenerieren. Der alte Token wird dabei ungültig und ein neuer wird generiert.
Gelöschte Token werden sofort ungültig. Alle API-Anfragen mit diesem Token werden mit einem 401-Fehler abgelehnt.
In Ihrem Profil können Sie die Nutzung Ihrer Tokens verfolgen:
Gesamtzahl der API-Aufrufe
API-Aufrufe heute
API-Aufrufe diesen Monat
Speichern Sie Ihren API-Key sicher in Umgebungsvariablen:
# .env Datei (niemals committen!)
FLOWSUITE_API_KEY=pk_dein_api_key_hier
Um Missbrauch zu verhindern und eine faire Nutzung zu gewaehrleisten, gelten folgende Limits:
| API-Typ | Limit | Zeitraum |
|---|---|---|
| Alle APIs | 1000 Anfragen | pro Minute |
Bei Überschreitung des Limits erhalten Sie einen HTTP 429 (Too Many Requests) Fehler.
curl -X GET "https://creativeskyline.de/api/team" \ -H "Authorization: Bearer pk_dein_api_key_hier" \ -H "Accept: application/json"
$apiKey = getenv('FLOWSUITE_API_KEY');
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://creativeskyline.de/api/team',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Accept: application/json',
],
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
const apiKey = process.env.FLOWSUITE_API_KEY;
const response = await fetch('https://creativeskyline.de/api/team', {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Accept': 'application/json',
},
});
const data = await response.json();
console.log(data);
import os
import requests
api_key = os.environ.get('FLOWSUITE_API_KEY')
headers = {
'Authorization': f'Bearer {api_key}',
'Accept': 'application/json',
}
response = requests.get('https://creativeskyline.de/api/team', headers=headers)
data = response.json()
print(data)
Fehlende oder ungültige Authentifizierung. Überprüfen Sie Ihren API-Key im Authorization Header.
{
"success": false,
"error": "Ungültige Authentifizierung"
}
Sie haben keine Berechtigung für diese Aktion. Überprüfen Sie Ihre Modul-Berechtigungen oder das Abonnement.
{
"success": false,
"error": "Keine Berechtigung für dieses Modul"
}
Rate-Limit überschritten. Warten Sie einen Moment und versuchen Sie es erneut.
{
"success": false,
"error": "Rate limit exceeded",
"retry_after": 60
}
Hier ein Beispiel für robuste Fehlerbehandlung in JavaScript:
async function apiRequest(endpoint, options = {}) {
const headers = {
'Authorization': `Bearer ${process.env.FLOWSUITE_API_KEY}`,
'Accept': 'application/json',
...options.headers,
};
try {
const response = await fetch(endpoint, { ...options, headers });
if (response.status === 401) {
throw new Error('Ungültige Authentifizierung');
}
if (response.status === 403) {
throw new Error('Keine Berechtigung');
}
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After') || 60;
throw new Error(`Rate-Limit erreicht. Warte ${retryAfter}s`);
}
return await response.json();
} catch (error) {
console.error('API-Fehler:', error.message);
throw error;
}
}