Skip to main content
GET
Get a customer

Authorizations

Authorization
string
header
required

An API key created in Settings, sent as Authorization: Bearer <key>.

Path Parameters

id
string<uuid>
required

The customer id.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Response

Successful response

Someone the entity bills: who to send invoices to, and what their contracts and invoices add up to.

id
string<uuid>
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
name
string
required
billingEmail
string
required

The address invoices, payment receipts, payment reminders and autopay notices are sent to.

invoiceCcEmails
string[]
required

Addresses copied on invoice, payment receipt, payment reminder and autopay notice emails.

emailPaymentFollowUps
boolean
required

Whether Synthetic emails this customer reminders about unpaid invoices.

lastPaymentFollowUpAt
string | null
required

When Synthetic last started a reminder to this customer, whether or not the email went out; null if it never has.

note
string | null
required

A note for the entity's own staff. It is never printed on an invoice.

invoiceNote
string | null
required

Text printed on this customer's invoices. An invoice copies it when issued and keeps that copy if this changes; an invoice issued while this was empty shows the current note.

outstandingIssuedAmount
object
required

What the customer still owes on issued invoices: their totals less what payments with status POSTED have paid on them. Keyed by currency code, one money object per currency, in the currency of the contract each invoice bills; amounts in different currencies are never added together. A currency whose total is 0 is left out, so {} means nothing is owed. Each value is a whole number of the currency's smallest unit, so { "USD": { "value": 200000, "currencyCode": "USD" } } is $2,000.00.

contractCount
integer
required

How many contracts the customer has that are not deleted.

Required range: -9007199254740991 <= x <= 9007199254740991
contractValueAmount
object
required

The total of every invoice that is not voided on the customer's contracts that are not deleted, keyed by currency the same way.

remainingToInvoiceAmount
object
required

The total of the invoices on those contracts that have not been issued yet, keyed by currency the same way.

contractHealth
enum<string>
required

The first of these states, in this order, that any of the customer's contracts is in. Each is read from the terms in force today, whose end can differ from the contract's end date while agreed terms that change it have not started. A contract is running when its terms are agreed and today is between its start date and the end of its terms in force. RENEWAL_DUE: running, does not renew automatically, has no agreed cancellation, is inside its renewal notice period, and the customer has no other agreed contract that begins on or after the end of its terms in force. ENDING: running, does not renew automatically, has no agreed cancellation and no renewal notice period, and its terms in force end within 30 days. HEALTHY: running. UPCOMING: agreed but not started. NO_ACTIVE_CONTRACT: ended or cancelled. DRAFT_ONLY: its terms are still being written. NO_CONTRACTS: the customer has no contract that is not deleted.

Available options:
RENEWAL_DUE,
ENDING,
HEALTHY,
UPCOMING,
NO_ACTIVE_CONTRACT,
DRAFT_ONLY,
NO_CONTRACTS
coverageContractId
string<uuid> | null
required

The contract contractHealth is read from; null when the customer has no contract that is not deleted.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
coverageContractStartAt
string<date-time>
required

The calendar date that contract starts, carried at UTC midnight; null when the customer has no contract that is not deleted. The time is not data.

coverageContractEndAt
string<date-time>
required

The calendar date that contract ends, carried at UTC midnight: it covers the days before this date, not the date itself. Null when the customer has no contract that is not deleted. The time is not data.

coverageContractAutoRenew
boolean
required

Whether that contract renews automatically; false when the customer has no contract that is not deleted.

coverageContractRenewed
boolean
required

Whether the customer has another contract, not deleted, that renews that contract and whose terms are agreed and not cancelled or ended. False when the customer has no contract that is not deleted.

createdAt
string
required
updatedAt
string
required