TrellisDevelopers
API reference

Customers

GET
/customers

Commerce7 basis: Customers and Customer Addresses. Stored card handling is intentionally deferred to Stripe customer/payment method primitives.

Query Parameters

q?string
locationId?string

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "customers": [    {      "id": "string",      "externalRef": "string",      "firstName": "string",      "lastName": "string",      "email": "user@example.com",      "phone": "string",      "status": "active",      "tags": [        "string"      ],      "marketingOptIn": true,      "notes": "string",      "company": "string",      "jobTitle": "string",      "spouse": "string",      "additionalPhones": [        "string"      ],      "birthDate": "2019-08-24",      "anniversaryDate": "2019-08-24",      "socialProfiles": {        "facebook": "string",        "x": "string",        "instagram": "string",        "linkedin": "string"      },      "addresses": [        {          "id": "string",          "label": "billing",          "name": "string",          "phone": "string",          "line1": "string",          "line2": "string",          "city": "string",          "region": "string",          "postalCode": "string",          "countryCode": "st"        }      ],      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "page": {    "total": 0  }}
POST
/customers

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "firstName": "string",    "lastName": "string",    "email": "user@example.com"  }'
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/customers/merge

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/merge" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "primaryCustomerId": "string",    "sourceCustomerIds": [      "string"    ],    "confirmation": "MERGE"  }'
{  "customer": {    "id": "string",    "externalRef": "string",    "firstName": "string",    "lastName": "string",    "email": "user@example.com",    "phone": "string",    "status": "active",    "tags": [      "string"    ],    "marketingOptIn": true,    "notes": "string",    "company": "string",    "jobTitle": "string",    "spouse": "string",    "additionalPhones": [      "string"    ],    "birthDate": "2019-08-24",    "anniversaryDate": "2019-08-24",    "socialProfiles": {      "facebook": "string",      "x": "string",      "instagram": "string",      "linkedin": "string"    },    "addresses": [      {        "id": "string",        "label": "billing",        "name": "string",        "phone": "string",        "line1": "string",        "line2": "string",        "city": "string",        "region": "string",        "postalCode": "string",        "countryCode": "st"      }    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "aliases": [    {      "sourceCustomerId": "string",      "primaryCustomerId": "string",      "mergedAt": "2019-08-24T14:15:22Z"    }  ]}
GET
/customers/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/customers/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customers/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/customers/{id}/addresses

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/addresses" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "label": "billing",    "name": "string",    "line1": "string",    "city": "string",    "region": "string",    "postalCode": "string",    "countryCode": "st"  }'
{  "id": "string",  "label": "billing",  "name": "string",  "phone": "string",  "line1": "string",  "line2": "string",  "city": "string",  "region": "string",  "postalCode": "string",  "countryCode": "st"}
GET
/customer

Exact Commerce7-style customer list alias for /customer.

Query Parameters

q?string
locationId?string

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "customers": [    {      "id": "string",      "externalRef": "string",      "firstName": "string",      "lastName": "string",      "email": "user@example.com",      "phone": "string",      "status": "active",      "tags": [        "string"      ],      "marketingOptIn": true,      "notes": "string",      "company": "string",      "jobTitle": "string",      "spouse": "string",      "additionalPhones": [        "string"      ],      "birthDate": "2019-08-24",      "anniversaryDate": "2019-08-24",      "socialProfiles": {        "facebook": "string",        "x": "string",        "instagram": "string",        "linkedin": "string"      },      "addresses": [        {          "id": "string",          "label": "billing",          "name": "string",          "phone": "string",          "line1": "string",          "line2": "string",          "city": "string",          "region": "string",          "postalCode": "string",          "countryCode": "st"        }      ],      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customer

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customer" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "firstName": "string",    "lastName": "string",    "email": "user@example.com"  }'
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customer/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
DELETE
/customer/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

curl -X DELETE "https://example.com/customer/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
Empty
PUT
/customer/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customer/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customer/{customerId}/address

Path Parameters

customerId*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer/string/address" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "addresses": [    {      "id": "string",      "customerId": "string",      "birthDate": "string",      "firstName": "string",      "lastName": "string",      "company": "string",      "phone": "string",      "address": "string",      "address2": "string",      "city": "string",      "stateCode": "string",      "zipCode": "string",      "countryCode": "st",      "isDefault": true,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customer/{customerId}/address

Path Parameters

customerId*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customer/string/address" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "firstName": "string",    "lastName": "string",    "address": "string",    "city": "string",    "stateCode": "string",    "zipCode": "string",    "countryCode": "st"  }'
{  "id": "string",  "customerId": "string",  "birthDate": "string",  "firstName": "string",  "lastName": "string",  "company": "string",  "phone": "string",  "address": "string",  "address2": "string",  "city": "string",  "stateCode": "string",  "zipCode": "string",  "countryCode": "st",  "isDefault": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customer-address

Query Parameters

q?string

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer-address" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "addresses": [    {      "id": "string",      "customerId": "string",      "birthDate": "string",      "firstName": "string",      "lastName": "string",      "company": "string",      "phone": "string",      "address": "string",      "address2": "string",      "city": "string",      "stateCode": "string",      "zipCode": "string",      "countryCode": "st",      "isDefault": true,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customer-address

Exact Commerce7-style customer-address creation path.

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customer-address" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "firstName": "string",    "lastName": "string",    "email": "user@example.com",    "address": "string",    "city": "string",    "stateCode": "string",    "zipCode": "string",    "countryCode": "st"  }'
{  "id": "string",  "externalRef": "string",  "firstName": "string",  "lastName": "string",  "email": "user@example.com",  "phone": "string",  "status": "active",  "tags": [    "string"  ],  "marketingOptIn": true,  "notes": "string",  "company": "string",  "jobTitle": "string",  "spouse": "string",  "additionalPhones": [    "string"  ],  "birthDate": "2019-08-24",  "anniversaryDate": "2019-08-24",  "socialProfiles": {    "facebook": "string",    "x": "string",    "instagram": "string",    "linkedin": "string"  },  "addresses": [    {      "id": "string",      "label": "billing",      "name": "string",      "phone": "string",      "line1": "string",      "line2": "string",      "city": "string",      "region": "string",      "postalCode": "string",      "countryCode": "st"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customer/{customerId}/address/{id}

Path Parameters

customerId*string
Length1 <= length
id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer/string/address/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "id": "string",  "customerId": "string",  "birthDate": "string",  "firstName": "string",  "lastName": "string",  "company": "string",  "phone": "string",  "address": "string",  "address2": "string",  "city": "string",  "stateCode": "string",  "zipCode": "string",  "countryCode": "st",  "isDefault": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
DELETE
/customer/{customerId}/address/{id}

Path Parameters

customerId*string
Length1 <= length
id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

curl -X DELETE "https://example.com/customer/string/address/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
Empty
PUT
/customer/{customerId}/address/{id}

Path Parameters

customerId*string
Length1 <= length
id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customer/string/address/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "customerId": "string",  "birthDate": "string",  "firstName": "string",  "lastName": "string",  "company": "string",  "phone": "string",  "address": "string",  "address2": "string",  "city": "string",  "stateCode": "string",  "zipCode": "string",  "countryCode": "st",  "isDefault": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customer/{customerId}/credit-card

Path Parameters

customerId*string
Length1 <= length

Query Parameters

searchText?string

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer/string/credit-card" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "customerCreditCards": [    {      "id": "string",      "customerId": "string",      "cardBrand": "string",      "maskedCardNumber": "string",      "expiryMo": 1,      "expiryYr": 2024,      "cardHolderName": "string",      "tokenOnFile": "string",      "gateway": "string",      "isDefault": true,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customer/{customerId}/credit-card

Path Parameters

customerId*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customer/string/credit-card" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "cardBrand": "string",    "maskedCardNumber": "string",    "expiryMo": 1,    "expiryYr": 2024,    "cardHolderName": "string",    "tokenOnFile": "string",    "gateway": "string"  }'
{  "id": "string",  "customerId": "string",  "cardBrand": "string",  "maskedCardNumber": "string",  "expiryMo": 1,  "expiryYr": 2024,  "cardHolderName": "string",  "tokenOnFile": "string",  "gateway": "string",  "isDefault": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customer/{customerId}/credit-card/{id}

Path Parameters

customerId*string
Length1 <= length
id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customer/string/credit-card/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "id": "string",  "customerId": "string",  "cardBrand": "string",  "maskedCardNumber": "string",  "expiryMo": 1,  "expiryYr": 2024,  "cardHolderName": "string",  "tokenOnFile": "string",  "gateway": "string",  "isDefault": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
DELETE
/customer/{customerId}/credit-card/{id}

Path Parameters

customerId*string
Length1 <= length
id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

curl -X DELETE "https://example.com/customer/string/credit-card/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
Empty
PUT
/customer/{customerId}/credit-card/{id}

Path Parameters

customerId*string
Length1 <= length
id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customer/string/credit-card/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "customerId": "string",  "cardBrand": "string",  "maskedCardNumber": "string",  "expiryMo": 1,  "expiryYr": 2024,  "cardHolderName": "string",  "tokenOnFile": "string",  "gateway": "string",  "isDefault": true,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customers/{id}/guest-summary

Toast-inspired guest summary with preferences plus order-history rollups like last order date, order count, last order total, and average spend.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/guest-summary" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "customerId": "string",  "preferredDiningOptions": [    "dine_in"  ],  "favoriteProducts": [    "string"  ],  "dietaryPreferences": [    "string"  ],  "drinkPreferences": [    "string"  ],  "deliveryInstructions": "string",  "serviceNotes": "string",  "summary": {    "lastOrderAt": "2019-08-24T14:15:22Z",    "orderCount": 0,    "lastOrderTotal": 0,    "averageSpend": 0,    "totalSpend": 0  },  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/customers/{id}/guest-summary

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customers/string/guest-summary" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "customerId": "string",  "preferredDiningOptions": [    "dine_in"  ],  "favoriteProducts": [    "string"  ],  "dietaryPreferences": [    "string"  ],  "drinkPreferences": [    "string"  ],  "deliveryInstructions": "string",  "serviceNotes": "string",  "summary": {    "lastOrderAt": "2019-08-24T14:15:22Z",    "orderCount": 0,    "lastOrderTotal": 0,    "averageSpend": 0,    "totalSpend": 0  },  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customers/{id}/visits

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/visits" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "visits": [    {      "id": "string",      "customerId": "string",      "orderId": "string",      "locationId": "string",      "channel": "dine_in",      "totalAmount": 0,      "partySize": 1,      "items": [        "string"      ],      "note": "string",      "visitedAt": "2019-08-24T14:15:22Z",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customers/{id}/visits

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/visits" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "channel": "dine_in",    "totalAmount": 0  }'
{  "id": "string",  "customerId": "string",  "orderId": "string",  "locationId": "string",  "channel": "dine_in",  "totalAmount": 0,  "partySize": 1,  "items": [    "string"  ],  "note": "string",  "visitedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customers/{id}/loyalty-account

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/loyalty-account" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "customerId": "string",  "programName": "string",  "enrollmentStatus": "active",  "accountNumber": "string",  "cardCode": "string",  "pointsBalance": 0,  "lifetimePoints": 0,  "offers": [    {      "id": "string",      "name": "string",      "type": "check_amount",      "selectionType": "CHECK",      "pointsCost": 0,      "amountOff": 0,      "percentOff": 0,      "eligibleProductIds": [        "string"      ]    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/customers/{id}/loyalty-account

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customers/string/loyalty-account" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "programName": "string"  }'
{  "customerId": "string",  "programName": "string",  "enrollmentStatus": "active",  "accountNumber": "string",  "cardCode": "string",  "pointsBalance": 0,  "lifetimePoints": 0,  "offers": [    {      "id": "string",      "name": "string",      "type": "check_amount",      "selectionType": "CHECK",      "pointsCost": 0,      "amountOff": 0,      "percentOff": 0,      "eligibleProductIds": [        "string"      ]    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/customers/{id}/loyalty-account/lookup

Models Toast POS loyalty lookup and inquire behavior by returning alphabetically sorted offers with applicability and item-selection targeting.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/loyalty-account/lookup" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "account": {    "customerId": "string",    "programName": "string",    "enrollmentStatus": "active",    "accountNumber": "string",    "cardCode": "string",    "pointsBalance": 0,    "lifetimePoints": 0,    "offers": [      {        "id": "string",        "name": "string",        "type": "check_amount",        "selectionType": "CHECK",        "pointsCost": 0,        "amountOff": 0,        "percentOff": 0,        "eligibleProductIds": [          "string"        ]      }    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "offers": [    {      "id": "string",      "name": "string",      "type": "check_amount",      "selectionType": "CHECK",      "pointsCost": 0,      "amountOff": 0,      "percentOff": 0,      "eligibleProductIds": [        "string"      ],      "applicable": true,      "redeemable": true,      "selectionIdentifier": "string",      "disabledReason": "string"    }  ]}
GET
/customers/{id}/loyalty-redemptions

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/loyalty-redemptions" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "redemptions": [    {      "id": "string",      "customerId": "string",      "offerId": "string",      "offerName": "string",      "orderId": "string",      "checkId": "string",      "selectionIdentifier": "string",      "amount": 0,      "pointsRedeemed": 0,      "status": "applied",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customers/{id}/loyalty-redemptions

Stores a customer-side redemption record that downstream order/check flows can honor as a discount marker during the main rollout.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/loyalty-redemptions" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "offerId": "string"  }'
{  "id": "string",  "customerId": "string",  "offerId": "string",  "offerName": "string",  "orderId": "string",  "checkId": "string",  "selectionIdentifier": "string",  "amount": 0,  "pointsRedeemed": 0,  "status": "applied",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customers/house-accounts

Toast-inspired house-account view across guests, searchable by name or account number and filterable by status, location, and outstanding balance.

Query Parameters

q?string
status?|
locationId?string
hasOutstandingBalance?boolean

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/house-accounts" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "houseAccounts": [    {      "id": "string",      "customerId": "string",      "locationId": "string",      "accountNumber": "string",      "customerNumber": "string",      "status": "active",      "email": "user@example.com",      "phone": "string",      "addressId": "string",      "notes": "string",      "taxExempt": true,      "balance": 0,      "outstandingBalance": 0,      "creditBalance": 0,      "totalCharged": 0,      "totalPaid": 0,      "lastTransactionAt": "2019-08-24T14:15:22Z",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0,  "outstandingBalanceTotal": 0}
GET
/customers/{id}/house-account

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/house-account" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "id": "string",  "customerId": "string",  "locationId": "string",  "accountNumber": "string",  "customerNumber": "string",  "status": "active",  "email": "user@example.com",  "phone": "string",  "addressId": "string",  "notes": "string",  "taxExempt": true,  "balance": 0,  "outstandingBalance": 0,  "creditBalance": 0,  "totalCharged": 0,  "totalPaid": 0,  "lastTransactionAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/customers/{id}/house-account

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/house-account" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "locationId": "string"  }'
{  "id": "string",  "customerId": "string",  "locationId": "string",  "accountNumber": "string",  "customerNumber": "string",  "status": "active",  "email": "user@example.com",  "phone": "string",  "addressId": "string",  "notes": "string",  "taxExempt": true,  "balance": 0,  "outstandingBalance": 0,  "creditBalance": 0,  "totalCharged": 0,  "totalPaid": 0,  "lastTransactionAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/customers/{id}/house-account

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customers/string/house-account" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "customerId": "string",  "locationId": "string",  "accountNumber": "string",  "customerNumber": "string",  "status": "active",  "email": "user@example.com",  "phone": "string",  "addressId": "string",  "notes": "string",  "taxExempt": true,  "balance": 0,  "outstandingBalance": 0,  "creditBalance": 0,  "totalCharged": 0,  "totalPaid": 0,  "lastTransactionAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customers/{id}/house-account/activities

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/house-account/activities" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "activities": [    {      "id": "string",      "customerId": "string",      "houseAccountId": "string",      "type": "charge",      "source": "pos",      "amount": 1,      "balanceDelta": 0,      "orderId": "string",      "invoiceId": "string",      "note": "string",      "createdAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customers/{id}/house-account/activities

Supports charge, payment, invoice, and adjustment activity so the outstanding balance can move like Toast house accounts, including overpayments that create a credit.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/house-account/activities" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "type": "charge",    "amount": 1  }'
{  "id": "string",  "customerId": "string",  "houseAccountId": "string",  "type": "charge",  "source": "pos",  "amount": 1,  "balanceDelta": 0,  "orderId": "string",  "invoiceId": "string",  "note": "string",  "createdAt": "2019-08-24T14:15:22Z"}
GET
/customers/{id}/customer-credits

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/customer-credits" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "customerId": "string",  "enabled": true,  "maxSingleCreditAmount": 1,  "expirationDays": 1,  "availableBalance": 0,  "expiringBalance": 0,  "nextExpirationAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/customers/{id}/customer-credits

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/customers/string/customer-credits" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "customerId": "string",  "enabled": true,  "maxSingleCreditAmount": 1,  "expirationDays": 1,  "availableBalance": 0,  "expiringBalance": 0,  "nextExpirationAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/customers/{id}/customer-credits/transactions

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/customers/string/customer-credits/transactions" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "transactions": [    {      "id": "string",      "customerId": "string",      "type": "add",      "amount": 1,      "remainingAmount": 0,      "expiresAt": "2019-08-24T14:15:22Z",      "allocations": [        {          "creditId": "string",          "amount": 1        }      ],      "orderId": "string",      "note": "string",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/customers/{id}/customer-credits/transactions

Supports Toast-style guest credits with a per-transaction cap, expiration window, and redemption against future checks.

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/customers/string/customer-credits/transactions" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "type": "add",    "amount": 1  }'
{  "id": "string",  "customerId": "string",  "type": "add",  "amount": 1,  "remainingAmount": 0,  "expiresAt": "2019-08-24T14:15:22Z",  "allocations": [    {      "creditId": "string",      "amount": 1    }  ],  "orderId": "string",  "note": "string",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/crm/guest-segments

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/crm/guest-segments" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "segments": [    {      "id": "string",      "name": "string",      "description": "string",      "status": "active",      "rules": {        "match": "all",        "conditions": [          {            "id": "string",            "field": "status",            "operator": "equals",            "value": "string"          }        ]      },      "matchingCustomerIds": [        "string"      ],      "matchingCount": 0,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/crm/guest-segments

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/crm/guest-segments" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "rules": {      "match": "all",      "conditions": [        {          "id": "string",          "field": "status",          "operator": "equals",          "value": "string"        }      ]    }  }'
{  "id": "string",  "name": "string",  "description": "string",  "status": "active",  "rules": {    "match": "all",    "conditions": [      {        "id": "string",        "field": "status",        "operator": "equals",        "value": "string"      }    ]  },  "matchingCustomerIds": [    "string"  ],  "matchingCount": 0,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/crm/guest-segments/{id}

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/crm/guest-segments/string" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "name": "string",  "description": "string",  "status": "active",  "rules": {    "match": "all",    "conditions": [      {        "id": "string",        "field": "status",        "operator": "equals",        "value": "string"      }    ]  },  "matchingCustomerIds": [    "string"  ],  "matchingCount": 0,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/crm/guest-feedback

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/crm/guest-feedback" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "feedback": [    {      "id": "string",      "customerId": "string",      "orderId": "string",      "locationId": "string",      "guestName": "string",      "guestEmail": "string",      "rating": 1,      "comment": "string",      "source": "digital_receipt",      "status": "new",      "itemRatings": [        {          "productId": "string",          "productName": "string",          "rating": 1,          "comment": "string"        }      ],      "reply": {        "message": "string",        "repliedAt": "2019-08-24T14:15:22Z",        "repliedByStaffUserId": "string"      },      "internalNotes": [        {          "id": "string",          "message": "string",          "createdAt": "2019-08-24T14:15:22Z",          "createdByStaffUserId": "string"        }      ],      "submittedAt": "2019-08-24T14:15:22Z",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "total": 0}
POST
/crm/guest-feedback

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/crm/guest-feedback" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "rating": 1  }'
{  "id": "string",  "customerId": "string",  "orderId": "string",  "locationId": "string",  "guestName": "string",  "guestEmail": "string",  "rating": 1,  "comment": "string",  "source": "digital_receipt",  "status": "new",  "itemRatings": [    {      "productId": "string",      "productName": "string",      "rating": 1,      "comment": "string"    }  ],  "reply": {    "message": "string",    "repliedAt": "2019-08-24T14:15:22Z",    "repliedByStaffUserId": "string"  },  "internalNotes": [    {      "id": "string",      "message": "string",      "createdAt": "2019-08-24T14:15:22Z",      "createdByStaffUserId": "string"    }  ],  "submittedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/crm/guest-feedback/{id}/status

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/crm/guest-feedback/string/status" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "status": "new"  }'
{  "id": "string",  "customerId": "string",  "orderId": "string",  "locationId": "string",  "guestName": "string",  "guestEmail": "string",  "rating": 1,  "comment": "string",  "source": "digital_receipt",  "status": "new",  "itemRatings": [    {      "productId": "string",      "productName": "string",      "rating": 1,      "comment": "string"    }  ],  "reply": {    "message": "string",    "repliedAt": "2019-08-24T14:15:22Z",    "repliedByStaffUserId": "string"  },  "internalNotes": [    {      "id": "string",      "message": "string",      "createdAt": "2019-08-24T14:15:22Z",      "createdByStaffUserId": "string"    }  ],  "submittedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/crm/guest-feedback/{id}/reply

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/crm/guest-feedback/string/reply" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "message": "string"  }'
{  "id": "string",  "customerId": "string",  "orderId": "string",  "locationId": "string",  "guestName": "string",  "guestEmail": "string",  "rating": 1,  "comment": "string",  "source": "digital_receipt",  "status": "new",  "itemRatings": [    {      "productId": "string",      "productName": "string",      "rating": 1,      "comment": "string"    }  ],  "reply": {    "message": "string",    "repliedAt": "2019-08-24T14:15:22Z",    "repliedByStaffUserId": "string"  },  "internalNotes": [    {      "id": "string",      "message": "string",      "createdAt": "2019-08-24T14:15:22Z",      "createdByStaffUserId": "string"    }  ],  "submittedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
POST
/crm/guest-feedback/{id}/notes

Path Parameters

id*string
Length1 <= length

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/crm/guest-feedback/string/notes" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{    "message": "string"  }'
{  "id": "string",  "customerId": "string",  "orderId": "string",  "locationId": "string",  "guestName": "string",  "guestEmail": "string",  "rating": 1,  "comment": "string",  "source": "digital_receipt",  "status": "new",  "itemRatings": [    {      "productId": "string",      "productName": "string",      "rating": 1,      "comment": "string"    }  ],  "reply": {    "message": "string",    "repliedAt": "2019-08-24T14:15:22Z",    "repliedByStaffUserId": "string"  },  "internalNotes": [    {      "id": "string",      "message": "string",      "createdAt": "2019-08-24T14:15:22Z",      "createdByStaffUserId": "string"    }  ],  "submittedAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}
GET
/crm/guest-feedback/insights

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/crm/guest-feedback/insights" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "total": 0,  "averageRating": 0,  "responseRate": 0,  "resolvedRate": 0,  "byRating": [    {      "rating": 1,      "count": 0    }  ],  "byStatus": [    {      "status": "new",      "count": 0    }  ],  "itemFeedback": [    {      "productId": "string",      "productName": "string",      "responseCount": 0,      "averageRating": 0    }  ]}
GET
/crm/guest-feedback/settings

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Response Body

application/json

curl -X GET "https://example.com/crm/guest-feedback/settings" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123"
{  "collectionEnabled": true,  "digitalReceiptEnabled": true,  "emailEnabled": true,  "smsEnabled": true,  "prompt": "string",  "alertRatingThreshold": 1,  "replyFromName": "string",  "itemFeedbackEnabled": true,  "itemFeedbackPrompt": "string",  "itemFeedbackMaxItems": 1,  "updatedAt": "2019-08-24T14:15:22Z"}
PUT
/crm/guest-feedback/settings

Header Parameters

x-tenant-id?string

Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.

x-tenant-slug?string

Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.

x-location-id?string

Adds a location scope to the request for location-aware reads, writes, and audit entries.

x-auth-provider?"hexclave"

Test-only Hexclave provider identifier used with x-auth-user-id when trusted identity headers are explicitly enabled. Production clients must use a Hexclave bearer token.

Value in

  • "hexclave"
x-auth-user-id?string

Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/crm/guest-feedback/settings" \  -H "x-tenant-id: tenant-local" \  -H "x-tenant-slug: trellis-local" \  -H "x-location-id: loc-tasting-room" \  -H "x-auth-provider: hexclave" \  -H "x-auth-user-id: user_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{  "collectionEnabled": true,  "digitalReceiptEnabled": true,  "emailEnabled": true,  "smsEnabled": true,  "prompt": "string",  "alertRatingThreshold": 1,  "replyFromName": "string",  "itemFeedbackEnabled": true,  "itemFeedbackPrompt": "string",  "itemFeedbackMaxItems": 1,  "updatedAt": "2019-08-24T14:15:22Z"}