← API reference
CANONICAL TYPE REFERENCE

UpsertContactInput

Input for creating or updating a contact

ID for update; omit for create

Associated customer ID (required)

External system identifier

firstNameString!

Contact's first name (required)

lastNameString!

Contact's last name (required)

emailString

Email address

phoneString

Phone number

jobTitleString

Job title or position

isPrimaryBoolean

Whether this is the primary contact

Override creation timestamp (ISO8601). Honored only on create — passing on update is rejected.

Override update timestamp (ISO8601). Honored on create or update; defaults to now.

View exact SDL
"""Input for creating or updating a contact"""
input UpsertContactInput {
  """ID for update; omit for create"""
  id: ContactID
  """Associated customer ID (required)"""
  customerId: CustomerID!
  """External system identifier"""
  externalId: String
  """Contact's first name (required)"""
  firstName: String!
  """Contact's last name (required)"""
  lastName: String!
  """Email address"""
  email: String
  """Phone number"""
  phone: String
  """Job title or position"""
  jobTitle: String
  """Whether this is the primary contact"""
  isPrimary: Boolean
  """
  Override creation timestamp (ISO8601). Honored only on create — passing on update is rejected.
  """
  createdAt: ISO8601
  """
  Override update timestamp (ISO8601). Honored on create or update; defaults to now.
  """
  updatedAt: ISO8601
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.