v1

latestOpenAPI 3.1.0Proprietary2026-08-06177398877.4 KB
Customer Contacts

Create customer contact

Create a new customer contact. The contactInfo will create a new Contact record, and the CustomerContact will reference it via parentContactId (managed internally).

post/customer-contacts

Request body

customerIdstring uuid required

Customer this contact belongs to

namestring required

Contact person's name (should match contactInfo.name)

phoneExtensionstring

Phone extension specific to this contact role

isPrimaryboolean

Whether this is the primary contact for the customer

contactTypesCustomerContactType[]

Types/roles this contact serves

notificationsCustomerContactNotificationType[]

Shipment notification types to send to this contact

keystring

Client-defined reference identifier

Example request

{
  "customerId": "550e8400-e29b-41d4-a716-446655440001",
  "name": "John Smith",
  "contactInfo": {
    "name": "John Smith",
    "email": "john.smith@example.com",
    "phoneNumber": "+1-555-0100",
    "title": "Operations Manager"
  },
  "phoneExtension": "1234",
  "isPrimary": true,
  "contactTypes": [
    "BILLING",
    "ACCOUNT_MANAGER"
  ],
  "notifications": [
    "SHIPMENT_PICKED_UP",
    "SHIPMENT_DELIVERED"
  ],
  "key": "ERP-CONTACT-JOHN-001"
}

Response

Customer contact created successfully

object'CUSTOMER_CONTACT'

Object type identifier

idstring uuid required

Unique contact identifier

namestring required

Contact person's name (denormalized from ContactInfo for convenience)

phoneExtensionstring nullable

Phone extension specific to this contact role

isPrimaryboolean required

Whether this is the primary contact for the customer

contactTypesCustomerContactType[] nullable

Types/roles this contact serves

notificationsCustomerContactNotificationType[] nullable

Shipment notification types to send to this contact

keystring nullable

Client-defined reference identifier

createdAtstring date-time required

When the contact was created

deletedAtstring date-time nullable

When the contact was soft deleted (null if active)

Example response

{
  "object": "CUSTOMER_CONTACT",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "customer": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-CUSTOMER-ACME",
    "name": "Acme Manufacturing Corp",
    "friendlyId": "A123456",
    "status": "ACTIVE",
    "phoneNumber": "+1-555-123-4567",
    "website": "https://acme-manufacturing.com",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "name": "John Smith",
  "contactInfo": {
    "name": "John Smith",
    "email": "john.smith@example.com",
    "phoneNumber": "+1-555-0100",
    "title": "Operations Manager"
  },
  "phoneExtension": "1234",
  "isPrimary": true,
  "contactTypes": [
    "BILLING",
    "ACCOUNT_MANAGER"
  ],
  "notifications": [
    "SHIPMENT_PICKED_UP",
    "SHIPMENT_DELIVERED"
  ],
  "invitedUser": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-USER-12345",
    "email": "john.doe@example.com",
    "name": "John Doe",
    "phone": "+1-555-123-4567",
    "phoneExt": "123",
    "status": "ACTIVE",
    "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "deletedBy": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "key": "ERP-USER-12345",
    "email": "john.doe@example.com",
    "name": "John Doe",
    "phone": "+1-555-123-4567",
    "phoneExt": "123",
    "status": "ACTIVE",
    "avatarId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "key": "ERP-CONTACT-JOHN-001",
  "createdAt": "2025-01-15T10:00:00Z"
}