Kontakte-API

Kontakte Ihrer Organisation verwalten.

Kontakte Ihrer Organisation verwalten.

Endpunkte

MethodePfadBeschreibung
GET/api/v1/contactsKontakte auflisten
POST/api/v1/contactsKontakt anlegen
GET/api/v1/contacts/:idAbruf über Kontakt-ID oder E-Mail
PUT/api/v1/contacts/:idAktualisierung über Kontakt-ID oder E-Mail
DELETE/api/v1/contacts/:idLöschung über Kontakt-ID oder E-Mail

Kontakte auflisten

Kontakte werden Cursor-paginiert. Es gibt keine Zeilenobergrenze — jeder Kontakt ist erreichbar, und Suchergebnisse erstrecken sich tatsächlich über mehrere Seiten (nach Relevanz sortiert).

GET /api/v1/contacts?limit=25&search=jane

Query-Parameter:

  • limit (max. 100, Standard 25)
  • cursor — opaker Fortsetzungs-Cursor aus dem Feld pagination.cursor der vorherigen Antwort. Lassen Sie ihn weg, um die erste Seite abzurufen.
  • search

Antwort:

{
  "data": [ /* …contacts… */ ],
  "pagination": {
    "limit": 25,
    "totalItems": 1342,
    "cursor": "opaque-cursor-string",
    "isDone": false
  }
}

Um alle Seiten zu durchlaufen, rufen Sie den Endpunkt wiederholt mit cursor auf, gesetzt auf das pagination.cursor der vorherigen Antwort, bis pagination.isDone den Wert true hat (ab da ist cursor gleich null).

Kontakt anlegen

POST /api/v1/contacts

Body:

{
  "email": "jane@example.com",
  "firstName": "Jane",
  "lastName": "Smith"
}

Liefert 201 mit dem angelegten Kontakt zurück.

Kontakt abrufen

id kann entweder sein:

  • eine Convex-Kontakt-ID
  • eine URL-kodierte E-Mail-Adresse (zum Beispiel jane%40example.com)

Kontakt aktualisieren

PUT /api/v1/contacts/:id

Teilweise Aktualisierungen werden unterstützt.

Kontakt löschen

DELETE /api/v1/contacts/:id
Eigene Eigenschaften

Eigene Kontakteigenschaften (etwa language, timezone sowie selbst definierte Felder) werden über das Dashboard verwaltet. Die REST-API verarbeitet derzeit ausschließlich die zentralen Kontaktfelder (email, firstName, lastName, source, createdAt, updatedAt).

Struktur der Kontakt-Antwort

{
  "data": {
    "id": "j57...",
    "email": "jane@example.com",
    "firstName": "Jane",
    "lastName": "Smith",
    "source": "api",
    "createdAt": "2026-02-17T14:00:00.000Z",
    "updatedAt": "2026-02-17T14:00:00.000Z"
  }
}