# Express ## Create **post** `/v1/express` Creates a new customer with a unique identifier and name. Customers can be used to group and manage users, studies, and access permissions across the Avara platform. ### Body Parameters - `expressCustomerName: string` Name of the Express customer to create - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs ### Returns - `createdAt: string` Timestamp when the Express customer was created - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer - `isActive: boolean` Whether the Express customer is currently active - `updatedAt: string` Timestamp when the Express customer was last updated - `userCount: number` Number of users currently in this Express customer - `createdByApiKeyId: optional string` UUID of the API key used to create this Express customer, for audit tracking - `createdByUserId: optional string` User ID who created this Express customer via dashboard, null if created via API key - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```http curl https://api.avarasoftware.com/v1/express \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $AVARA_API_KEY" \ -d '{ "expressCustomerName": "City Medical Center - Radiology Department" }' ``` ## List **get** `/v1/express` Retrieves a paginated list of customers with optional filtering by name. Returns up to 100 customers per request. ### Query Parameters - `cursor: optional string` Base64 encoded cursor from previous response - `limit: optional number` Number of results to return (1-100) ### Returns - `expressCustomers: array of object { createdAt, expressCustomerId, expressCustomerName, 6 more }` - `createdAt: string` Timestamp when the Express customer was created - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer - `isActive: boolean` Whether the Express customer is currently active - `updatedAt: string` Timestamp when the Express customer was last updated - `userCount: number` Number of users currently in this Express customer - `createdByApiKeyId: optional string` UUID of the API key used to create this Express customer, for audit tracking - `createdByUserId: optional string` User ID who created this Express customer via dashboard, null if created via API key - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `hasMore: boolean` - `cursor: optional string` ### Example ```http curl https://api.avarasoftware.com/v1/express \ -H "Authorization: Bearer $AVARA_API_KEY" ``` ## Retrieve **get** `/v1/express/{expressCustomerId}` Retrieves a single customer by its unique customer ID. Returns the complete customer object with name, status, and timestamps. ### Path Parameters - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Returns - `createdAt: string` Timestamp when the Express customer was created - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer - `isActive: boolean` Whether the Express customer is currently active - `updatedAt: string` Timestamp when the Express customer was last updated - `userCount: number` Number of users currently in this Express customer - `createdByApiKeyId: optional string` UUID of the API key used to create this Express customer, for audit tracking - `createdByUserId: optional string` User ID who created this Express customer via dashboard, null if created via API key - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```http curl https://api.avarasoftware.com/v1/express/$EXPRESS_CUSTOMER_ID \ -H "Authorization: Bearer $AVARA_API_KEY" ``` ## Update **patch** `/v1/express/{expressCustomerId}` Updates a customer's properties such as name or other metadata. All fields are optional - only provided fields will be updated. ### Path Parameters - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Body Parameters - `expressCustomerName: optional string` Updated name for the Express customer - `metadata: optional map[string]` Updated metadata. Pass null to clear all metadata ### Returns - `createdAt: string` Timestamp when the Express customer was created - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer - `isActive: boolean` Whether the Express customer is currently active - `updatedAt: string` Timestamp when the Express customer was last updated - `userCount: number` Number of users currently in this Express customer - `createdByApiKeyId: optional string` UUID of the API key used to create this Express customer, for audit tracking - `createdByUserId: optional string` User ID who created this Express customer via dashboard, null if created via API key - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```http curl https://api.avarasoftware.com/v1/express/$EXPRESS_CUSTOMER_ID \ -X PATCH \ -H "Authorization: Bearer $AVARA_API_KEY" ``` ## Deactivate **post** `/v1/express/{expressCustomerId}/deactivate` Deactivates a customer, preventing it from being used for new studies or user assignments. Existing data is preserved and the customer can be reactivated later. ### Path Parameters - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Returns - `createdAt: string` Timestamp when the Express customer was created - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer - `isActive: boolean` Whether the Express customer is currently active - `updatedAt: string` Timestamp when the Express customer was last updated - `userCount: number` Number of users currently in this Express customer - `createdByApiKeyId: optional string` UUID of the API key used to create this Express customer, for audit tracking - `createdByUserId: optional string` User ID who created this Express customer via dashboard, null if created via API key - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```http curl https://api.avarasoftware.com/v1/express/$EXPRESS_CUSTOMER_ID/deactivate \ -X POST \ -H "Authorization: Bearer $AVARA_API_KEY" ``` ## Reactivate **post** `/v1/express/{expressCustomerId}/reactivate` Restores a deactivated customer to active status, allowing it to be used for new studies and user assignments again. ### Path Parameters - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Returns - `createdAt: string` Timestamp when the Express customer was created - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} - `expressCustomerName: string` Name of the Express customer - `isActive: boolean` Whether the Express customer is currently active - `updatedAt: string` Timestamp when the Express customer was last updated - `userCount: number` Number of users currently in this Express customer - `createdByApiKeyId: optional string` UUID of the API key used to create this Express customer, for audit tracking - `createdByUserId: optional string` User ID who created this Express customer via dashboard, null if created via API key - `metadata: optional map[string]` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```http curl https://api.avarasoftware.com/v1/express/$EXPRESS_CUSTOMER_ID/reactivate \ -X POST \ -H "Authorization: Bearer $AVARA_API_KEY" ``` # Users ## Add **post** `/v1/express/{expressCustomerId}/users` Associates an existing user with a customer, granting them access to customer-specific resources and studies. ### Path Parameters - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Body Parameters - `userId: string` User ID to add to the Express customer. Format: usr_{32-hex-chars} ### Returns - `success: boolean` - `message: optional string` ### Example ```http curl https://api.avarasoftware.com/v1/express/$EXPRESS_CUSTOMER_ID/users \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $AVARA_API_KEY" \ -d '{ "userId": "usr_1234567890abcdef1234567890abcdef" }' ``` ## Remove **delete** `/v1/express/{expressCustomerId}/users` Removes a user's association with a customer, revoking their access to customer-specific resources. The user account remains active but is no longer linked to this customer. ### Path Parameters - `expressCustomerId: string` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Body Parameters - `userId: string` User ID to remove from the Express customer. Format: usr_{32-hex-chars} ### Returns - `success: boolean` - `message: optional string` ### Example ```http curl https://api.avarasoftware.com/v1/express/$EXPRESS_CUSTOMER_ID/users \ -X DELETE \ -H "Authorization: Bearer $AVARA_API_KEY" ```