← API reference
CANONICAL TYPE REFERENCE

UpsertEstimateInput

Input for creating or updating an estimate

ID for update; omit for create

Estimate reference number (required)

External system reference

Associated customer ID (required)

Associated contact ID

Billing address ID

Estimate status (defaults to draft)

Issue date (ISO8601, required)

Valid until date (ISO8601)

Acceptance timestamp (ISO8601)

Rejection timestamp (ISO8601)

Subtotal before tax (required)

taxAmountFloat!

Tax amount (required)

Total amount including tax (required)

Currency code (required)

taxRateFloat

Tax rate percentage

Order ID if converted

Revision number (defaults to 1)

Parent estimate ID for revisions

notesString

Customer-facing notes

Internal notes

tags[String!]

Tags for categorization

User who created this estimate

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 an estimate"""
input UpsertEstimateInput {
  """ID for update; omit for create"""
  id: EstimateID
  """Estimate reference number (required)"""
  estimateNumber: String!
  """External system reference"""
  externalId: String
  """Associated customer ID (required)"""
  customerId: CustomerID!
  """Associated contact ID"""
  contactId: ContactID
  """Billing address ID"""
  billingAddressId: AddressID
  """Estimate status (defaults to draft)"""
  status: EstimateStatus
  """Issue date (ISO8601, required)"""
  issueDate: ISO8601!
  """Valid until date (ISO8601)"""
  validUntil: ISO8601
  """Acceptance timestamp (ISO8601)"""
  acceptedAt: ISO8601
  """Rejection timestamp (ISO8601)"""
  rejectedAt: ISO8601
  """Subtotal before tax (required)"""
  subtotalAmount: Float!
  """Tax amount (required)"""
  taxAmount: Float!
  """Total amount including tax (required)"""
  totalAmount: Float!
  """Currency code (required)"""
  currency: CurrencyISO!
  """Tax rate percentage"""
  taxRate: Float
  """Order ID if converted"""
  convertedToOrderId: OrderID
  """Revision number (defaults to 1)"""
  revisionNumber: Int
  """Parent estimate ID for revisions"""
  parentEstimateId: EstimateID
  """Customer-facing notes"""
  notes: String
  """Internal notes"""
  internalNotes: String
  """Tags for categorization"""
  tags: [String!]
  """User who created this estimate"""
  createdByUserId: UserID
  """
  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.