Create partie
POST/v1/parties
Legt eine neue Partei (Kunde oder Lieferant) im aktuellen Tenant an.
Das Feld partyType muss ORGANIZATION oder PERSON sein — Mischformen
gibt es nicht. Bei Organisationen ist name Pflicht; bei Personen
firstName und lastName.
Die Adresse darf leer bleiben, wird dann aber bei einer Vertragserstellung
verlangt. Wenn Sie aus weclapp synchronisieren, übergeben Sie
legacyId: 'wec-…', damit Re-Imports den Datensatz wiederfinden statt
ein Duplikat zu erzeugen.
Datenmodell
Diese Operation arbeitet auf der Entität Party (party). Alle 56 Felder — Typ, Validierung, Pflichtangabe, Beziehungen — stehen in der Schema-Referenz.
- Pflichtfelder:
partyType,name,displayName - Server-verwaltet:
_id,schema,schemaVersion,tenantId,version,createdAt,updatedAt,createdBy,updatedBy,deletedAt,deletedBy,churnedAt,lostAt,datevDebitorenkonto,datevKreditorenkonto,billingBlock.blockedAt,billingBlock.blockedBy,serviceBlock.blockedAt,serviceBlock.blockedBy,inheritedResponsibleUserIds,inheritedTeamIds— diese Felder vergibt die Plattform; im Request werden sie verworfen.
Beispiel
curl -X POST https://api.codemeta-os.de/v1/parties \
-H "X-Tenant-Id: $TENANT" \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{
"partyType": "ORGANIZATION",
"name": "Beispiel GmbH",
"email": "info@beispiel.de"
}'const result = await cm.parties.post({
"partyType": "ORGANIZATION",
"name": "Beispiel GmbH",
"email": "info@beispiel.de"
});Best Practice
Halten Sie den Partei-Datensatz dünn. Vertragsdaten, Bankverbindung, Custom Fields gehören in eigene verknüpfte Entitäten — sonst wird der Audit-Patch bei jedem Update unhandlich groß. Faustregel: alles, was Eigenleben hat (mehrere Werte, eigene Berechtigung), bekommt eine eigene Entität.
Antwortcodes
| HTTP | Bedeutung |
|---|---|
200 |
Default Response |