Customer Contacts

Create customer contact

Changed on

Create a new customer contact. The contact details are provided inline via contactInfo; no internal identifiers are required or exposed.

post/customer-contacts

Request

  • Base URL: https://api.mvmnt.io/v1
  • URL: https://api.mvmnt.io/v1/customer-contacts
  • Auth: HTTP bearer

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

contactTypesAssignableCustomerContactType[]

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

Changes

    • breaking

      removed the enum value DOCK_SHIPPING of the request property /

    • breaking

      removed the enum value LOCATION_MANAGER of the request property /

    • breaking

      removed the enum value OWNER of the request property /

    • breaking

      removed the enum value PURCHASING of the request property /

    • breaking

      removed the enum value RECEIVING of the request property /

    • breaking

      removed the enum value SHIPPING of the request property /

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • breaking

      removed the required property from the response with the status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      media type application/json was changed to a more specific media type application/problem+json for the response status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status