# Create a new vendor contact Create a new contact for a vendor. Contacts represent individuals at the vendor who can be reached for various purposes. Endpoint: POST /vendor-contacts Version: 1.0.0 Security: BearerAuth ## Request fields (application/json): - `vendorId` (string, required) Vendor this contact belongs to Example: "550e8400-e29b-41d4-a716-446655440001" - `email` (string) Contact email address Example: "john.smith@abcwarehouse.com" - `phone` (string) Contact phone number Example: "+1-555-123-4567" - `role` (string) Contact role or title (deprecated - use roles array) Example: "Billing Manager" - `roles` (array) Types/roles this contact serves Enum: "AGENT", "BILLING", "OPERATION", "OWNER" ## Response 201 fields (application/json): - `object` (string) Object type identifier Enum: "VENDOR_CONTACT" - `vendor` (object, required) Vendor this contact belongs to (id and key only) - `vendor.id` (string, required) Resource UUID - `vendor.key` (string,null) Client-defined reference ID if set - `email` (string,null) Contact email address Example: "john.smith@abcwarehouse.com" - `phone` (string,null) Contact phone number Example: "+1-555-123-4567" - `role` (string,null) Contact role or title (deprecated - use roles array) Example: "Billing Manager" - `roles` (array,null) Types/roles this contact serves Enum: "AGENT", "BILLING", "OPERATION", "OWNER" - `deletedBy` (any) User who deleted this contact (full user details) - `createdAt` (string, required) When the contact was created Example: "2025-01-15T10:00:00Z" - `deletedAt` (string,null) When the contact was soft deleted (null if active) ## Response 400 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 401 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 409 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message ## Response 500 fields (application/json): - `error` (string, required) Error code - `message` (string, required) Human-readable error message