v1

latestOpenAPI 3.1.0Proprietary2026-08-06177398877.4 KB
Customer Contacts

Update customer contact

Partially update a customer contact. Only provided fields will be updated.

  • Omitted fields: Not modified (current value preserved)
  • Provided fields: Updated to the new value
  • Null values: Clear the field (set to null) where applicable

When updating contactInfo, the underlying Contact record is updated.

patch/customer-contacts/{id}

Path parameters

idstring required

Resource ID (UUID) or client key

Request body

namestring

Contact person's name (should match contactInfo.name if updating both)

phoneExtensionstring nullable

Phone extension

isPrimaryboolean

Whether this is the primary contact

contactTypesCustomerContactType[] nullable

Types/roles this contact serves (replaces entire array)

notificationsCustomerContactNotificationType[] nullable

Notification types (replaces entire array)

keystring nullable

Client-defined reference identifier

Example request

{
  "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 updated 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"
}