Skip to content

Authentifizierung

Die API des AI Application Layer verwendet Bearer-Token-Authentifizierung. Jeder API-Aufruf muss einen gültigen Token im Authorization-Header enthalten.


API-Token erstellen

  1. In der Plattform-Oberfläche anmelden
  2. Oben rechts: Profil → API-Tokens
  3. “Neuen Token erstellen”
  4. Einen sprechenden Namen vergeben (z. B. ci-pipeline-meine-app)
  5. Token sofort kopieren — er wird danach nicht mehr im Klartext angezeigt

Token verwenden

Jeder API-Request benötigt den Header:

Authorization: Bearer <euer-token>

Beispiel mit curl

Terminal window
# Token als Umgebungsvariable (sicher)
export COOLIFY_TOKEN="<euer-token>"
curl -s https://coolai.btc-ag.cloud/api/v1/applications \
-H "Authorization: Bearer $COOLIFY_TOKEN"

Beispiel mit Python

import httpx
import os
token = os.environ["COOLIFY_TOKEN"]
base_url = "https://coolai.btc-ag.cloud/api/v1"
headers = {"Authorization": f"Bearer {token}"}
response = httpx.get(f"{base_url}/applications", headers=headers)
response.raise_for_status()
print(response.json())

Beispiel mit JavaScript/TypeScript

const token = process.env.COOLIFY_TOKEN;
const baseUrl = "https://coolai.btc-ag.cloud/api/v1";
const response = await fetch(`${baseUrl}/applications`, {
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
});
const apps = await response.json();

Token in CI/CD-Systemen

Hinterlegt den Token als Secret in eurem CI/CD-System:

Gitea Actions:

# In .gitea/workflows/deploy.yml
steps:
- name: Deploy
env:
COOLIFY_TOKEN: ${{ secrets.COOLIFY_TOKEN }}
run: |
curl -s -X GET \
"https://coolai.btc-ag.cloud/api/v1/deploy?uuid=${{ secrets.APP_UUID }}" \
-H "Authorization: Bearer $COOLIFY_TOKEN"

Repository → Settings → Secrets → “Neues Secret”COOLIFY_TOKEN


Token rotieren

Wenn ein Token kompromittiert wurde oder ein Teammitglied das Unternehmen verlässt:

  1. Alten Token in der Plattform-Oberfläche löschen (Profil → API-Tokens)
  2. Neuen Token erstellen
  3. Neuen Token in allen CI/CD-Systemen und Scripts aktualisieren

Fehler bei der Authentifizierung

HTTP-StatusBedeutung
401 UnauthorizedToken fehlt oder ist ungültig
403 ForbiddenToken ist gültig, aber ohne Berechtigung für diese Ressource
// Beispiel-Response bei 401
{
"message": "Unauthenticated."
}