# Express ## Create `ExpressCreateResponse Express.Create(ExpressCreateParamsparameters, CancellationTokencancellationToken = default)` **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. ### Parameters - `ExpressCreateParams parameters` - `required string expressCustomerName` Name of the Express customer to create - `IReadOnlyDictionary metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs ### Returns - `class ExpressCreateResponse:` An Express customer entity that groups users and studies - `required DateTimeOffset? CreatedAt` Timestamp when the Express customer was created - `required string ExpressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string ExpressCustomerName` Name of the Express customer - `required Boolean IsActive` Whether the Express customer is currently active - `required DateTimeOffset? UpdatedAt` Timestamp when the Express customer was last updated - `required Long UserCount` Number of users currently in this Express customer - `string CreatedByApiKeyID` UUID of the API key used to create this Express customer, for audit tracking - `string CreatedByUserID` User ID who created this Express customer via dashboard, null if created via API key - `IReadOnlyDictionary Metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```csharp ExpressCreateParams parameters = new() { ExpressCustomerName = "City Medical Center - Radiology Department" }; var express = await client.Express.Create(parameters); Console.WriteLine(express); ``` ## List `ExpressListPageResponse Express.List(ExpressListParams?parameters, CancellationTokencancellationToken = default)` **get** `/v1/express` Retrieves a paginated list of customers with optional filtering by name. Returns up to 100 customers per request. ### Parameters - `ExpressListParams parameters` - `string cursor` Base64 encoded cursor from previous response - `Double limit` Number of results to return (1-100) ### Returns - `class ExpressListPageResponse:` Paginated list of Express customers - `required IReadOnlyList ExpressCustomers` - `required DateTimeOffset? CreatedAt` Timestamp when the Express customer was created - `required string ExpressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string ExpressCustomerName` Name of the Express customer - `required Boolean IsActive` Whether the Express customer is currently active - `required DateTimeOffset? UpdatedAt` Timestamp when the Express customer was last updated - `required Long UserCount` Number of users currently in this Express customer - `string CreatedByApiKeyID` UUID of the API key used to create this Express customer, for audit tracking - `string CreatedByUserID` User ID who created this Express customer via dashboard, null if created via API key - `IReadOnlyDictionary Metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars - `required Boolean HasMore` - `string Cursor` ### Example ```csharp ExpressListParams parameters = new(); var page = await client.Express.List(parameters); await foreach (var item in page.Paginate()) { Console.WriteLine(item); } ``` ## Retrieve `ExpressRetrieveResponse Express.Retrieve(ExpressRetrieveParamsparameters, CancellationTokencancellationToken = default)` **get** `/v1/express/{expressCustomerId}` Retrieves a single customer by its unique customer ID. Returns the complete customer object with name, status, and timestamps. ### Parameters - `ExpressRetrieveParams parameters` - `required string expressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Returns - `class ExpressRetrieveResponse:` An Express customer entity that groups users and studies - `required DateTimeOffset? CreatedAt` Timestamp when the Express customer was created - `required string ExpressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string ExpressCustomerName` Name of the Express customer - `required Boolean IsActive` Whether the Express customer is currently active - `required DateTimeOffset? UpdatedAt` Timestamp when the Express customer was last updated - `required Long UserCount` Number of users currently in this Express customer - `string CreatedByApiKeyID` UUID of the API key used to create this Express customer, for audit tracking - `string CreatedByUserID` User ID who created this Express customer via dashboard, null if created via API key - `IReadOnlyDictionary Metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```csharp ExpressRetrieveParams parameters = new() { ExpressCustomerID = "cus_1234567890abcdef1234567890abcdef" }; var express = await client.Express.Retrieve(parameters); Console.WriteLine(express); ``` ## Update `ExpressUpdateResponse Express.Update(ExpressUpdateParamsparameters, CancellationTokencancellationToken = default)` **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. ### Parameters - `ExpressUpdateParams parameters` - `required string expressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `string expressCustomerName` Updated name for the Express customer - `IReadOnlyDictionary? metadata` Updated metadata. Pass null to clear all metadata ### Returns - `class ExpressUpdateResponse:` An Express customer entity that groups users and studies - `required DateTimeOffset? CreatedAt` Timestamp when the Express customer was created - `required string ExpressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string ExpressCustomerName` Name of the Express customer - `required Boolean IsActive` Whether the Express customer is currently active - `required DateTimeOffset? UpdatedAt` Timestamp when the Express customer was last updated - `required Long UserCount` Number of users currently in this Express customer - `string CreatedByApiKeyID` UUID of the API key used to create this Express customer, for audit tracking - `string CreatedByUserID` User ID who created this Express customer via dashboard, null if created via API key - `IReadOnlyDictionary Metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```csharp ExpressUpdateParams parameters = new() { ExpressCustomerID = "cus_1234567890abcdef1234567890abcdef" }; var express = await client.Express.Update(parameters); Console.WriteLine(express); ``` ## Deactivate `ExpressDeactivateResponse Express.Deactivate(ExpressDeactivateParamsparameters, CancellationTokencancellationToken = default)` **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. ### Parameters - `ExpressDeactivateParams parameters` - `required string expressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Returns - `class ExpressDeactivateResponse:` An Express customer entity that groups users and studies - `required DateTimeOffset? CreatedAt` Timestamp when the Express customer was created - `required string ExpressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string ExpressCustomerName` Name of the Express customer - `required Boolean IsActive` Whether the Express customer is currently active - `required DateTimeOffset? UpdatedAt` Timestamp when the Express customer was last updated - `required Long UserCount` Number of users currently in this Express customer - `string CreatedByApiKeyID` UUID of the API key used to create this Express customer, for audit tracking - `string CreatedByUserID` User ID who created this Express customer via dashboard, null if created via API key - `IReadOnlyDictionary Metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```csharp ExpressDeactivateParams parameters = new() { ExpressCustomerID = "cus_1234567890abcdef1234567890abcdef" }; var response = await client.Express.Deactivate(parameters); Console.WriteLine(response); ``` ## Reactivate `ExpressReactivateResponse Express.Reactivate(ExpressReactivateParamsparameters, CancellationTokencancellationToken = default)` **post** `/v1/express/{expressCustomerId}/reactivate` Restores a deactivated customer to active status, allowing it to be used for new studies and user assignments again. ### Parameters - `ExpressReactivateParams parameters` - `required string expressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} ### Returns - `class ExpressReactivateResponse:` An Express customer entity that groups users and studies - `required DateTimeOffset? CreatedAt` Timestamp when the Express customer was created - `required string ExpressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string ExpressCustomerName` Name of the Express customer - `required Boolean IsActive` Whether the Express customer is currently active - `required DateTimeOffset? UpdatedAt` Timestamp when the Express customer was last updated - `required Long UserCount` Number of users currently in this Express customer - `string CreatedByApiKeyID` UUID of the API key used to create this Express customer, for audit tracking - `string CreatedByUserID` User ID who created this Express customer via dashboard, null if created via API key - `IReadOnlyDictionary Metadata` Custom key-value metadata for the Express customer. Maximum 50 pairs, keys up to 100 chars, values up to 1000 chars ### Example ```csharp ExpressReactivateParams parameters = new() { ExpressCustomerID = "cus_1234567890abcdef1234567890abcdef" }; var response = await client.Express.Reactivate(parameters); Console.WriteLine(response); ``` # Users ## Add `UserAddResponse Express.Users.Add(UserAddParamsparameters, CancellationTokencancellationToken = default)` **post** `/v1/express/{expressCustomerId}/users` Associates an existing user with a customer, granting them access to customer-specific resources and studies. ### Parameters - `UserAddParams parameters` - `required string expressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string userID` User ID to add to the Express customer. Format: usr_{32-hex-chars} ### Returns - `class UserAddResponse:` Standard success response with optional message - `required Boolean Success` - `string Message` ### Example ```csharp UserAddParams parameters = new() { ExpressCustomerID = "cus_1234567890abcdef1234567890abcdef", UserID = "usr_1234567890abcdef1234567890abcdef", }; var response = await client.Express.Users.Add(parameters); Console.WriteLine(response); ``` ## Remove `UserRemoveResponse Express.Users.Remove(UserRemoveParamsparameters, CancellationTokencancellationToken = default)` **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. ### Parameters - `UserRemoveParams parameters` - `required string expressCustomerID` Unique Express customer identifier. Format: cus_{32-hex-chars} - `required string userID` User ID to remove from the Express customer. Format: usr_{32-hex-chars} ### Returns - `class UserRemoveResponse:` Standard success response with optional message - `required Boolean Success` - `string Message` ### Example ```csharp UserRemoveParams parameters = new() { ExpressCustomerID = "cus_1234567890abcdef1234567890abcdef", UserID = "usr_1234567890abcdef1234567890abcdef", }; var user = await client.Express.Users.Remove(parameters); Console.WriteLine(user); ```