Location Contacts

Create a new location contact

Changed on

Create a contact at a customer location, as the TMS does: the contact belongs to that location and is not one of the customer's contacts.

post/location-contacts

Request

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

Request body

locationIdstring uuid required

Location this contact belongs to (required)

namestring required

Contact's full name (required). Must match contactInfo.name.

phoneExtensionstring

Phone extension

isPrimaryboolean

Whether this is the primary contact for the location

contactTypesAssignableLocationContactType[]

Roles for this location contact

keystring

Client-defined reference identifier

Example request

{
  "locationId": "770e8400-e29b-41d4-a716-446655440000",
  "name": "Jane Smith",
  "contactInfo": {
    "name": "John Smith",
    "email": "john.smith@example.com",
    "phoneNumber": "+1-555-0100",
    "title": "Operations Manager"
  },
  "phoneExtension": "204",
  "isPrimary": true,
  "contactTypes": [
    "LOCATION_MANAGER",
    "SHIPPING"
  ],
  "key": "ERP-LOC-CONTACT-001"
}

Response

Location contact created successfully

object'LOCATION_CONTACT'

Object type identifier

idstring uuid required

Unique location contact identifier

locationIdstring uuid required

Location this contact belongs to

namestring required

Contact's full name

phoneExtensionstring nullable

Phone extension

isPrimaryboolean required

Whether this is the primary contact for the location

contactTypesLocationContactType[]

Roles for this location contact

keystring nullable

Client-defined reference identifier for this location contact

createdAtstring date-time required

Timestamp when location contact was created

updatedAtstring date-time required

Timestamp when location contact was last updated

deletedAtstring date-time nullable

Timestamp when location contact was soft-deleted (null if active)

Example response

{
  "object": "LOCATION_CONTACT",
  "id": "880e8400-e29b-41d4-a716-446655440000",
  "locationId": "770e8400-e29b-41d4-a716-446655440000",
  "location": {
    "object": "LOCATION",
    "id": "770e8400-e29b-41d4-a716-446655440000",
    "customerId": "550e8400-e29b-41d4-a716-446655440000",
    "customer": {
      "object": "CUSTOMER",
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Acme Manufacturing Corp",
      "friendlyId": "A123456",
      "website": "https://acme-manufacturing.com",
      "phoneNumber": "+1-555-123-4567",
      "naics": "336411",
      "ein": "12-3456789",
      "duns": "123456789",
      "leadSource": "Referral",
      "dbaName": "Acme Corp DBA",
      "externalId": "EXT-12345",
      "creditLimit": 50000,
      "creditUsageWarning": 40000,
      "freeCreditReq": 5000,
      "defaultMargin": 0.15,
      "minMargin": 0.1,
      "maxMargin": 0.25,
      "defaultInternalNotes": "Contact via email only",
      "defaultCarrierNotes": "Call pickup contact before arrival",
      "defaultExternalNotes": "Please call 1 hour before delivery",
      "group": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "key": "ERP-USER-12345"
      },
      "paymentTerm": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "key": "ERP-PAYTERM-NET30",
        "name": "Net 30",
        "description": "Payment due 30 days from invoice date",
        "days": 30,
        "quickPayFee": 5,
        "createdAt": "2025-01-15T10:00:00Z",
        "updatedAt": "2025-01-15T14:30:00Z"
      },
      "notes": "Prefers email communication",
      "closedBy": {
        "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"
      },
      "corporateAddress": {
        "line1": "123 Main St",
        "line2": "Suite 400",
        "city": "Chicago",
        "state": "IL",
        "zipCode": "60601",
        "country": "USA",
        "market": "CHI",
        "latitude": "41.8781",
        "longitude": "-87.6298",
        "isSmartyValidated": true,
        "obeysDst": true
      },
      "billingAddress": {
        "line1": "123 Main St",
        "line2": "Suite 400",
        "city": "Chicago",
        "state": "IL",
        "zipCode": "60601",
        "country": "USA",
        "market": "CHI",
        "latitude": "41.8781",
        "longitude": "-87.6298",
        "isSmartyValidated": true,
        "obeysDst": true
      },
      "key": "ERP-CUSTOMER-12345",
      "contacts": [
        {
          "object": "CUSTOMER_CONTACT",
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "key": "ERP-CONTACT-JOHN-001",
          "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"
          },
          "createdAt": "2025-01-15T10:00:00Z"
        }
      ],
      "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"
      }
    },
    "address": {
      "line1": "123 Main St",
      "line2": "Suite 400",
      "city": "Chicago",
      "state": "IL",
      "zipCode": "60601",
      "country": "USA",
      "market": "CHI",
      "latitude": "41.8781",
      "longitude": "-87.6298",
      "isSmartyValidated": true,
      "obeysDst": true
    },
    "name": "ABC Warehouse - Dallas",
    "key": "ERP-LOC-DALLAS-01",
    "isAppointmentRequired": true,
    "notes": "Call 24 hours ahead for appointment",
    "internalNotes": "Use dock door 5 for expedited shipments",
    "contacts": [
      {
        "object": "LOCATION_CONTACT",
        "id": "880e8400-e29b-41d4-a716-446655440000",
        "name": "Jane Smith",
        "contactInfo": {
          "name": "John Smith",
          "email": "john.smith@example.com",
          "phoneNumber": "+1-555-0100",
          "title": "Operations Manager"
        },
        "phoneExtension": "204",
        "isPrimary": true,
        "contactTypes": [
          "LOCATION_MANAGER",
          "SHIPPING"
        ],
        "key": "ERP-LOC-CONTACT-001",
        "createdAt": "2025-01-15T10:00:00Z",
        "updatedAt": "2025-01-15T14:30:00Z"
      }
    ],
    "createdAt": "2025-01-15T10:00:00Z",
    "updatedAt": "2025-01-15T14:30:00Z"
  },
  "name": "Jane Smith",
  "contactInfo": {
    "name": "John Smith",
    "email": "john.smith@example.com",
    "phoneNumber": "+1-555-0100",
    "title": "Operations Manager"
  },
  "phoneExtension": "204",
  "isPrimary": true,
  "contactTypes": [
    "LOCATION_MANAGER",
    "SHIPPING"
  ],
  "key": "ERP-LOC-CONTACT-001",
  "createdAt": "2025-01-15T10:00:00Z",
  "updatedAt": "2025-01-15T14:30:00Z"
}

Changes

    • breaking

      added the new required request property

    • breaking

      added the new required request property

    • breaking

      removed the enum value ACCOUNT_MANAGER of the request property /

    • breaking

      removed the enum value BILLING of the request property /

    • breaking

      removed the enum value DOCK_SHIPPING of the request property /

    • breaking

      removed the enum value OWNER of the request property /

    • breaking

      removed the enum value PROCUREMENT of the request property /

    • breaking

      removed the enum value PURCHASING of the request property /

    • breaking

      removed the enum value RATES_PRICING 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

    • warning

      removed the request property

    • warning

      removed the optional property from the response with the status

    • warning

      removed the optional property /// from the response with the status

    • info

      added the new optional request property

    • info

      the request property became optional

    • info

      the request property default value false was added

    • 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

    • 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

    • warning

      removed the optional 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