Ansprechpartner

Ansprechpartner bei Produktpartnern — B2B-Kontakte mit eigenen Stammdaten, die an einem Produktpartner-Datensatz hängen (z. B. „Maklerbetreuer Region Süd" bei der Allianz). Full-CRUD top-level über `/v3/contact-persons/{id}` plus parent-scoped Listing/Create unter `/v3/products/{kid}/contact-persons`.

Zuletzt geprüft: 14. Mai 2026

Übersicht

Ein Ansprechpartner (Contact-Person) ist eine natürliche Person, die als Kontakt bei einem Produktpartner geführt wird — etwa der zuständige Maklerbetreuer einer Versicherung oder der Account-Manager einer Bank. Jeder Ansprechpartner hängt über kid an einem Produktpartner.

Der Ansprechpartner hat eine global eindeutige id — alle CRUD-Operationen laufen daher top-level über /v3/contact-persons/{id}, ohne Detour über den Produktpartner:

  1. Top-Level Full-CRUD — /v3/contact-persons (List, Create) und /v3/contact-persons/{id} (Read, Update, Delete).
  2. Parent-scoped Listing + Create — GET /v3/products/{kid}/contact-persons und POST /v3/products/{kid}/contact-persons. Path-kid ist Source-of-Truth; Body darf kein kid-Feld tragen (sonst 400 body_kid_forbidden).

Beide Patterns teilen sich die Scope-Familie mit Produktpartnern: v3:products:*.

Scopes

EndpointScope
GET /v3/contact-personsv3:products:read
POST /v3/contact-personsv3:products:write
GET /v3/contact-persons/<id>v3:products:read
PATCH /v3/contact-persons/<id>v3:products:write
DELETE /v3/contact-persons/<id>v3:products:write
GET /v3/products/<kid>/contact-personsv3:products:read
POST /v3/products/<kid>/contact-personsv3:products:write

Auth-Mechanik siehe Authentifizierung. Vollständige Scope-Referenz: Scopes.

Pagination & Limits

Standard wie bei Customers — page, limit, Default 50, Max 5000.

Schema

json
{
  "id": 52001,
  "kid": 67890,                       // Customer-ID des Produktpartners
  "anrede": "Frau",
  "vorname": "Anna",
  "name": "Schmitt",
  "position": "Maklerbetreuerin Region Süd",
  "bereich": "Vertriebspartner-Management",
  "email": "a.schmitt@example-versicherer.de",
  "telefon": "+49 89 12345-678",
  "mobil": "+49 171 1234567",
  "insert_datum": "2023-08-12",
  "edit_datum": "2024-06-15"
}

Endpoints

Ansprechpartner abfragen

GET/v3/contact-persons Im Playground testen ↗

Liefert paginierte Liste aller Ansprechpartner deiner Organisation, optional auf einen Produktpartner gefiltert.

Query-Parameter:

NameTypDefaultBeschreibung
pageint ≥ 11Seitenzahl
limitint 1-500050Items pro Seite (Cap 5000)
kidint—Filter: nur Ansprechpartner beim Produktpartner mit dieser KID
with_schemaboolfalseSchema-Block mitliefern (opt-in)
bash
curl "https://www.api.i-planner.app/v3/contact-persons?kid=67890" \
  -H "Authorization: Bearer $IPLANNER_API_TOKEN"

Response: Standard-Envelope { page, page_size, total, items, fields?, select_fields? }.

Einzelnen Ansprechpartner abrufen

GET/v3/contact-persons/<id> Im Playground testen ↗

Liefert ein einzelnes Ansprechpartner-Objekt über seine numerische id. 404 not_found falls die ID nicht existiert oder soft-deleted ist.

bash
curl https://www.api.i-planner.app/v3/contact-persons/52001 \
  -H "Authorization: Bearer $IPLANNER_API_TOKEN"

Ansprechpartner top-level anlegen

POST/v3/contact-persons Im Playground testen ↗

Produktpartner-kid ist Pflicht-Feld im Body — ein Ansprechpartner ohne Produktpartner ergibt fachlich keinen Sinn.

bash
curl -X POST 'https://www.api.i-planner.app/v3/contact-persons' \
  -H "Authorization: Bearer $IPLANNER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "kid": 67890,
    "anrede": "Frau",
    "vorname": "Anna",
    "name": "Schmitt",
    "position": "Maklerbetreuerin Region Süd",
    "email": "a.schmitt@example-versicherer.de",
    "telefon": "+49 89 12345-678"
  }'

Ansprechpartner am Produktpartner anlegen

POST/v3/products/<kid>/contact-persons Im Playground testen ↗

kid aus dem Pfad ist Source-of-Truth; Body darf kein kid tragen (400 body_kid_forbidden).

bash
curl -X POST 'https://www.api.i-planner.app/v3/products/67890/contact-persons' \
  -H "Authorization: Bearer $IPLANNER_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "anrede": "Frau",
    "vorname": "Anna",
    "name": "Schmitt",
    "position": "Maklerbetreuerin Region Süd",
    "email": "a.schmitt@example-versicherer.de",
    "telefon": "+49 89 12345-678"
  }'

Ansprechpartner aktualisieren

PATCH/v3/contact-persons/<id> Im Playground testen ↗

PATCH-Semantik.

Ansprechpartner löschen

DELETE/v3/contact-persons/<id> Im Playground testen ↗

Soft-Delete, idempotent. Volle Error-Tabelle in Fehler.

Annotations

Ansprechpartner haben keine direkten Documents. Anhänge werden über Links verbunden.

/v3/contact-persons/<id>/comments[/<rid>]   # 5-op: list, get, create, patch, delete
/v3/contact-persons/<id>/followers[/<rid>]  # 3-op: list, create, delete
/v3/contact-persons/<id>/tags[/<rid>]       # 3-op: list, create, delete
/v3/contact-persons/<id>/links[/<rid>]      # 3-op: list, create, delete

/v3/contact-persons/<id>/documents ist nicht verfügbar — der Endpoint antwortet 404 unsupported_sub_resource.