Foundation
Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/locations" \ -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"{ "locations": [ { "id": "string", "code": "string", "name": "string", "timezone": "string", "kind": "restaurant", "isDefault": true } ]}Toast-style operational permission matrix represented with Trellis-native permission primitives. Staff role assignments can grant or deny these primitives in scopes.accessPrimitives.
Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/permissions" \ -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"{ "permissions": [ { "code": "string", "reference": "string", "category": "string", "label": "string", "description": "string", "supportsManagerOverride": true } ], "matrix": [ { "role": "owner", "grants": [ "string" ] } ], "page": { "total": 0 }}Returns the effective Trellis permission primitives after role defaults, role assignment grants/denies, and job-based grants/denies are applied.
Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/me/authorization" \ -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"{ "staffUser": { "id": "string", "tenantId": "string", "authProvider": "hexclave", "authUserId": "string", "email": "user@example.com", "firstName": "string", "lastName": "string", "status": "invited", "lastLoginAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }, "roles": [ "owner" ], "primitives": [ "string" ], "assignments": [ { "id": "string", "tenantId": "string", "staffUserId": "string", "locationId": "string", "role": "owner", "grantedByStaffUserId": "string", "scopes": { "property1": null, "property2": null }, "createdAt": "2019-08-24T14:15:22Z" } ]}First Postgres-backed layer. This route reads the actual tenant records from Postgres instead of the in-memory store.
Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants" \ -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"{ "tenants": [ { "id": "string", "slug": "string", "name": "string", "status": "active", "ownerEmail": "user@example.com", "defaultCurrency": "str", "timezone": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ], "page": { "total": 0 }}Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants" \ -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 '{ "slug": "string", "name": "string", "ownerEmail": "user@example.com" }'{ "id": "string", "slug": "string", "name": "string", "status": "active", "ownerEmail": "user@example.com", "defaultCurrency": "str", "timezone": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/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", "slug": "string", "name": "string", "status": "active", "ownerEmail": "user@example.com", "defaultCurrency": "str", "timezone": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/string/staff-users" \ -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"{ "staffUsers": [ { "id": "string", "tenantId": "string", "authProvider": "hexclave", "authUserId": "string", "email": "user@example.com", "firstName": "string", "lastName": "string", "status": "invited", "lastLoginAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ], "page": { "total": 0 }}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/string/staff-users" \ -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 '{ "authProvider": "hexclave", "authUserId": "string", "email": "user@example.com" }'{ "id": "string", "tenantId": "string", "authProvider": "hexclave", "authUserId": "string", "email": "user@example.com", "firstName": "string", "lastName": "string", "status": "invited", "lastLoginAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/staff-users/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", "tenantId": "string", "authProvider": "hexclave", "authUserId": "string", "email": "user@example.com", "firstName": "string", "lastName": "string", "status": "invited", "lastLoginAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthQuery Parameters
1 <= value <= 200Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/string/audit-logs" \ -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"{ "auditLogs": [ { "id": "string", "tenantId": "string", "actorType": "staff", "actorStaffUserId": "string", "actorAuthProvider": "hexclave", "actorAuthUserId": "string", "locationId": "string", "action": "string", "entityType": "string", "entityId": "string", "orderId": "string", "requestId": "string", "ipAddress": "string", "userAgent": "string", "metadata": { "property1": null, "property2": null }, "beforeState": { "property1": null, "property2": null }, "afterState": { "property1": null, "property2": null }, "occurredAt": "2019-08-24T14:15:22Z" } ], "page": { "total": 0 }}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/string/audit-logs" \ -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 '{ "actorType": "staff", "action": "string", "entityType": "string" }'{ "id": "string", "tenantId": "string", "actorType": "staff", "actorStaffUserId": "string", "actorAuthProvider": "hexclave", "actorAuthUserId": "string", "locationId": "string", "action": "string", "entityType": "string", "entityId": "string", "orderId": "string", "requestId": "string", "ipAddress": "string", "userAgent": "string", "metadata": { "property1": null, "property2": null }, "beforeState": { "property1": null, "property2": null }, "afterState": { "property1": null, "property2": null }, "occurredAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthQuery Parameters
Header Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/string/staff-role-assignments" \ -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"{ "staffRoleAssignments": [ { "id": "string", "tenantId": "string", "staffUserId": "string", "locationId": "string", "role": "owner", "grantedByStaffUserId": "string", "scopes": { "property1": null, "property2": null }, "createdAt": "2019-08-24T14:15:22Z" } ], "page": { "total": 0 }}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/tenants/string/staff-role-assignments" \ -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 '{ "staffUserId": "string", "role": "owner" }'{ "id": "string", "tenantId": "string", "staffUserId": "string", "locationId": "string", "role": "owner", "grantedByStaffUserId": "string", "scopes": { "property1": null, "property2": null }, "createdAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
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/foundation/staff-role-assignments/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", "tenantId": "string", "staffUserId": "string", "locationId": "string", "role": "owner", "grantedByStaffUserId": "string", "scopes": { "property1": null, "property2": null }, "createdAt": "2019-08-24T14:15:22Z"}Path Parameters
1 <= lengthHeader Parameters
Selects the tenant by id. When both tenant headers are omitted, the server falls back to the configured default tenant slug.
Selects the tenant by slug. Use this when you know the tenant slug instead of the tenant id.
Adds a location scope to the request for location-aware reads, writes, and audit entries.
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"
Temporary auth subject used to resolve the acting staff user through the staff auth identity mapping.
Response Body
application/json
curl -X DELETE "https://example.com/foundation/staff-role-assignments/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", "tenantId": "string", "staffUserId": "string", "locationId": "string", "role": "owner", "grantedByStaffUserId": "string", "scopes": { "property1": null, "property2": null }, "createdAt": "2019-08-24T14:15:22Z"}