# Shared ## Domain Types ### API Key Reference - `APIKeyReference = object { apiKeyId, description, isViewerEnabled }` A reference to an API key with basic identifying information - `apiKeyId: string` Unique API key identifier (UUIDv4 format) - `description: string` Human-readable description of the API key - `isViewerEnabled: optional boolean` Whether this API key has access to the Viewer product ### Express Customer Reference - `ExpressCustomerReference = object { expressCustomerId, expressCustomerName }` A reference to an Express customer with basic identifying information - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer ### User Reference - `UserReference = object { email, userId, firstName, 4 more }` A reference to a user with basic identifying information - `email: string` User's email address - `userId: string` Unique user identifier. Format: usr_{32-hex-chars} - `firstName: optional string` User's first name - `lastName: optional string` User's last name - `middleName: optional string` User's middle name - `suffix1: optional string` Name suffix (e.g., 'MD', 'Jr.') - `suffix2: optional string` Additional name suffix