KAOS API

Externe Schnittstelle von KAOS, dem CRM und der Warenwirtschaft von KAEMI. Basis-URL https://api-kaos.kaemi.app · openapi.json (OpenAPI 3.1)

Authentifizierung

Jede Anfrage unter /v1 trägt einen API-Schlüssel: Authorization: Bearer kaos_<prefix>_<secret>. Schlüssel legen Administratoren in KAOS unter Einstellungen → API-Schlüssel an; der Klartext erscheint nur beim Anlegen. Jeder Schlüssel handelt als eigenes Dienstkonto mit einer Rolle: Leser liest, Mitarbeiter legt an und ändert, Manager darf zusätzlich löschen. Widerrufene Schlüssel antworten mit 401 und "code": "revoked".

Aufbau

Beispiele

curl -H "Authorization: Bearer $KAOS_KEY" "https://api-kaos.kaemi.app/v1/organizations?q=Muster"

curl -X POST "https://api-kaos.kaemi.app/v1/organizations" \
  -H "Authorization: Bearer $KAOS_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Muster GmbH","city":"Hamburg","email":"info@muster.example"}'

curl -X POST "https://api-kaos.kaemi.app/v1/leads" \
  -H "Authorization: Bearer $KAOS_KEY" -H "Content-Type: application/json" \
  -d '{"title":"Anfrage Webformular","org_id":123,"source":"Website","note":"Interesse an Colocation"}'

curl -X POST "https://api-kaos.kaemi.app/v1/deals/45/status" \
  -H "Authorization: Bearer $KAOS_KEY" -H "Content-Type: application/json" \
  -d '{"status":"won"}'

Endpunkte

Organisationen

MethodePfadBeschreibungBody
GET/v1/organizationsOrganisationen suchen und blättern
GET/v1/organizations/{id}Organisation lesen
POST/v1/organizationsOrganisation anlegenJSON (Schema in openapi.json)
PATCH/v1/organizations/{id}Organisation ändernJSON (Schema in openapi.json)
DELETE/v1/organizations/{id}Organisation löschen

Kontakte

MethodePfadBeschreibungBody
GET/v1/personsKontakte suchen und blättern
GET/v1/persons/{id}Kontakt lesen
POST/v1/personsKontakt anlegenJSON (Schema in openapi.json)
PATCH/v1/persons/{id}Kontakt ändernJSON (Schema in openapi.json)
DELETE/v1/persons/{id}Kontakt löschen

Leads

MethodePfadBeschreibungBody
GET/v1/leadsLeads suchen und blättern
GET/v1/leads/sourcesLead-Quellen
GET/v1/leads/{id}Lead lesen
POST/v1/leadsLead anlegen (Organisation oder Kontakt nötig)JSON (Schema in openapi.json)
PATCH/v1/leads/{id}Lead ändernJSON (Schema in openapi.json)
POST/v1/leads/{id}/convertLead in einen Deal umwandelnJSON (Schema in openapi.json)
POST/v1/leads/{id}/loseLead als verloren markierenJSON (Schema in openapi.json)
POST/v1/leads/{id}/reopenLead wieder öffnen
DELETE/v1/leads/{id}Lead löschen

Deals

MethodePfadBeschreibungBody
GET/v1/dealsDeals suchen und blättern
GET/v1/deals/{id}Deal lesen
POST/v1/dealsDeal anlegenJSON (Schema in openapi.json)
PATCH/v1/deals/{id}Deal ändern (auch Phase und Besitzer)JSON (Schema in openapi.json)
POST/v1/deals/{id}/statusDeal gewonnen, verloren oder wieder offen setzenJSON (Schema in openapi.json)
DELETE/v1/deals/{id}Deal löschen

Aufgaben

MethodePfadBeschreibungBody
GET/v1/activitiesAufgaben und Aktivitäten
POST/v1/activitiesAufgabe anlegenJSON (Schema in openapi.json)
PATCH/v1/activities/{id}Aufgabe ändern oder erledigenJSON (Schema in openapi.json)
DELETE/v1/activities/{id}Aufgabe löschen

Notizen

MethodePfadBeschreibungBody
POST/v1/notesNotiz anlegenJSON (Schema in openapi.json)
PATCH/v1/notes/{id}Notiz ändernJSON (Schema in openapi.json)
DELETE/v1/notes/{id}Notiz löschen

Angebote

MethodePfadBeschreibungBody
GET/v1/quotesAngebote suchen und blättern
GET/v1/quotes/{id}Angebot mit Positionen lesen
GET/v1/quotes/{id}/pdfAngebots-PDF
POST/v1/quotesAngebot anlegenJSON (Schema in openapi.json)
PATCH/v1/quotes/{id}Angebot ändernJSON (Schema in openapi.json)
POST/v1/quotes/{id}/statusAngebotsstatus setzenJSON (Schema in openapi.json)

Artikel

MethodePfadBeschreibungBody
GET/v1/articlesArtikel suchen und blättern
GET/v1/articles/{id}Artikel lesen

Alle Felder, Pflichtangaben und Wertebereiche stehen maschinenlesbar in openapi.json.