Legt eine Techniker-Mitgliedschaft unter dem aktuellen Unternehmen an. Stimmt Telefon/E-Mail mit einem bestehenden Nutzer überein, wird dessen Konto verknüpft. Andernfalls wird eine neue Nutzer-Identität erstellt (keine Einladungs-E-Mail — der Login erfolgt später passwortlos). In beiden Fällen startet die Mitgliedschaft aktiv. War der Techniker zuvor entfernt (deactive), wird er stattdessen reaktiviert. Owner-/Administrator-Gruppen können nicht per API-Key zugewiesen werden und im Sandbox-Modus gar nicht.
Optionale Beziehungen (alle validiert; jede fehlende id → 404 TECHNICIAN_NOT_FOUND mit `missing_ids`): `buddy_ids` setzt die Buddy-Liste dieses Technikers (beim Anlegen eines Leads verwenden); `lead_ids` fügt diesen Techniker als Buddy jedes genannten Leads hinzu (beim Anlegen eines Buddys verwenden — die Buddy-seitige Art, dieselbe Lead↔Buddy-Beziehung zu knüpfen); `service_area_ids` weist den Techniker diesen Servicegebieten zu.
`start_location_type=office` übernimmt die Unternehmensadresse + Koordinaten beim Anlegen als Snapshot in den Techniker; `address`, `start_location_lat`, `start_location_long` im Body werden ignoriert. Erfordert, dass für das Unternehmen Koordinaten gesetzt sind (sonst 400 BUSINESS_LOCATION_MISSING). `start_location_type=home` (oder leer) verwendet die Adresse + Koordinaten aus dem Body.
Argumente
Idempotency-Keystringheaderoptional
Unique key making retries safe: a repeat send with the same key replays the original response (header Idempotent-Replayed: true) instead of re-running the operation. Reusing a key with a different body returns 422 IDEMPOTENCY_KEY_REUSE.
▾addressobjectbodyoptional
Home address (the day-start point when start_location_type=home).
citystringbodyoptional
City / locality.
countrystringbodyoptional
Country (free-form or ISO code).
formattedstringbodyoptional
Vollständige Anzeigezeichenfolge; wenn gesetzt, hat sie für die Anzeige Vorrang vor den einzelnen Teilen.
linestringbodyoptional
Straße Zeile 1.
line2stringbodyoptional
Straße Zeile 2 (Einheit, Suite).
postal_codestringbodyoptional
Postleitzahl.
statestringbodyoptional
State / province / region.
assignment_tierenumbodyoptional
Team-Stufe, nach der die Matching-Engine zuweist: lead (kann einen Auftrag leiten), buddy
(Team-Helfer), float (von der automatischen Team-Zuweisung ausgeschlossen).
buddy_idsarray<string>bodyoptional
BuddyIDs — Buddies dieses Technikers (beim Anlegen eines Leads gesetzt).
LeadIDs — Leads, deren Buddy dieser Techniker ist (beim Anlegen eines Buddys gesetzt;
der Techniker wird an die Buddy-Liste jedes Leads angehängt). ServiceAreaIDs —
Servicegebiete, denen der Techniker zugewiesen wird. Alle optional.
business_group_idstringbodyerforderlich
Rollengruppe für das neue Mitglied. IDs ermitteln über GET /permission/groups
(Owner-/Administrator-Gruppen werden im Sandbox-Modus abgelehnt).
emailstringbodyoptional
Email address. At least one of phone/email is required (identity resolution key).
full_namestringbodyerforderlich
The person's full display name. Required; max 255 chars.
job_titlestringbodyoptional
Anzeigetitel (z. B. "Senior HVAC Technician").
join_datestringbodyoptional
Erster Arbeitstag (YYYY-MM-DD).
lead_idsarray<string>bodyoptional
Leads this technician is a buddy of (set when creating a buddy; the
technician is appended to each lead's buddy list). Optional; max 50 technician ids.
phonestringbodyoptional
Mindestens eines von Telefon/E-Mail ist erforderlich (Schlüssel zur Identitätsauflösung).
service_area_idsarray<string>bodyoptional
Service areas to assign the technician to. Optional; max 50. Discover via GET /service-areas.
start_location_latnumberbodyoptional
Explizite Tagesstart-Koordinaten; wenn gesetzt, haben sie Vorrang vor der Adress-Geokodierung.
start_location_longnumberbodyoptional
Explicit day-start longitude in decimal degrees (-180..180); when set it wins over the address geocode.
start_location_typeenumbodyoptional
Wo der Techniker seinen Tag beginnt: home (seine Adresse) oder office
(der Unternehmensstandort). Steuert die Fahrtwegschätzungen der Engine.