API ReferenceAccounting
Customer · customer
Portable accounting customer / contact contract. name is the stable cross-system anchor; currencyCode matters for Cin7 Core writes, and address fields matter most for QuickBooks writes.
Entity type:
customer· Methods: GET · POST
Portable accounting customer / contact contract. name is the stable cross-system anchor; currencyCode matters for Cin7 Core writes, and address fields matter most for QuickBooks writes.
Endpoints
GET /unified/{accountId}/customer # List normalized customer records
POST /unified/{accountId}/customer # Create / push one customerSchema
| Field | Type | Required | Description |
|---|---|---|---|
externalId | string | Yes | Stable source customer identifier. Used as the idempotency key on writes. |
name | string | Yes | Best available display / contact name for the customer. |
firstName | string | — | Given name for person-style contacts. |
lastName | string | — | Family name for person-style contacts. |
email | string · email | — | Primary email address. |
phone | string | — | Primary phone number. |
companyName | string | — | Company or business name when distinct from display name. |
notes | string | — | Customer note or memo. |
address | object | — | Primary billing or mailing address. |
address.line1 | string | — | Street address, first line. |
address.line2 | string | — | Street address, second line. |
address.city | string | — | City or locality. |
address.state | string | — | State, province, or region. |
address.postalCode | string | — | ZIP or postal code. |
address.country | string | — | Country name or code. |
active | boolean | — | Whether the customer / contact is active. |
currencyCode | string · ISO 4217 | — | Preferred 3-letter currency code when available. |
Example object
{
"externalId": "cus_8Kz2n41",
"name": "Harvest Market Ltd.",
"firstName": "Elena",
"lastName": "Chen",
"email": "elena@harvestmarket.com",
"phone": "+1 415 555 0134",
"companyName": "Harvest Market Ltd.",
"notes": "Wholesale account, NET-30 terms.",
"address": {
"line1": "210 Mission St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105",
"country": "US"
},
"active": true,
"currencyCode": "USD"
}The same shape is used as the POST request body and returned by GET reads — reads from
every connected system are normalized to it.
Requests
curl "https://dev.flow.staging.linktoany.com/api/1.0/standalone-link-engine-service/unified/{accountId}/customer?mappingKey={readKey}&pageSize=50" \
-H "authorization: Bearer <token>"curl -X POST "https://dev.flow.staging.linktoany.com/api/1.0/standalone-link-engine-service/unified/{accountId}/customer?mappingKey={writeKey}" \
-H "authorization: Bearer <token>" \
-H "content-type: application/json" \
-d '{"externalId":"cus_8Kz2n41","name":"Harvest Market Ltd.","firstName":"Elena","lastName":"Chen","email":"elena@harvestmarket.com","phone":"+1 415 555 0134","companyName":"Harvest Market Ltd.","notes":"Wholesale account, NET-30 terms.","address":{"line1":"210 Mission St","city":"San Francisco","state":"CA","postalCode":"94105","country":"US"},"active":true,"currencyCode":"USD"}'Supported systems
| System | Read | Write | Auth | Rate limit |
|---|---|---|---|---|
| Xero | Yes | Yes | OAuth 2.0 | 1 req / s |
| QuickBooks Online | Yes | Yes | OAuth 2.0 | 10 req / s · 100 req / min |
| Cin7 Core | — | Yes | API key | 10 req / s · 100 req / min |