Provides API endpoints related to members
Summary
Functions
List Members
Remove Member
Create Member
Create Member by Customer External ID
Delete Member
Delete Member by External ID
Get Member by External ID
Update Member by External ID
List Members
Functions
@spec customer_portal_members_add_member( body :: Polarex.CustomerPortalMemberCreate.t(), opts :: keyword() ) :: {:ok, Polarex.CustomerPortalMember.t()} | {:error, Polarex.HTTPValidationError.t()}
Add Member
Add a new member to the customer's team.
Only available to owners and billing managers of team customers.
Rules:
- Cannot add a member with the owner role (there must be exactly one owner)
- If a member with this email already exists, the existing member is returned
Request Body
Content Types: application/json
@spec customer_portal_members_list_members(opts :: keyword()) :: {:ok, Polarex.ListResourceCustomerPortalMember.t()} | {:error, Polarex.HTTPValidationError.t()}
List Members
List all members of the customer's team.
Only available to owners and billing managers of team customers.
Options
page: Page number, defaults to 1.limit: Size of a page, defaults to 10. Maximum is 100.
@spec customer_portal_members_remove_member(id :: String.t(), opts :: keyword()) :: :ok | {:error, Polarex.HTTPValidationError.t()}
Remove Member
Remove a member from the team.
Only available to owners and billing managers of team customers.
Rules:
- Cannot remove yourself
- Cannot remove the only owner
@spec customer_portal_members_update_member( id :: String.t(), body :: Polarex.CustomerPortalMemberUpdate.t(), opts :: keyword() ) :: {:ok, Polarex.CustomerPortalMember.t()} | {:error, Polarex.HTTPValidationError.t()}
Update Member
Update a member's name or role.
Only available to owners and billing managers of team customers.
Rules:
- Cannot modify your own role (to prevent self-demotion)
- Customer must have exactly one owner at all times
Request Body
Content Types: application/json
@spec customers_members_create( id :: String.t(), body :: Polarex.MemberCreateFromCustomer.t(), opts :: keyword() ) :: {:ok, Polarex.Member.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.NotPermitted.t() | Polarex.ResourceNotFound.t()}
Create Member
Create a new member for a customer.
Only B2B customers with the member management feature enabled can add members. The authenticated user or organization must have access to the customer's organization.
Scopes: members:write
Request Body
Content Types: application/json
@spec customers_members_create_external( external_id :: String.t(), body :: Polarex.MemberCreateFromCustomer.t(), opts :: keyword() ) :: {:ok, Polarex.Member.t()} | {:error, Polarex.AmbiguousExternalCustomerID.t() | Polarex.HTTPValidationError.t() | Polarex.NotPermitted.t() | Polarex.ResourceNotFound.t()}
Create Member by Customer External ID
Create a new member for a customer identified by its external ID.
Scopes: members:write
Request Body
Content Types: application/json
@spec customers_members_delete( id :: String.t(), member_id :: String.t(), opts :: keyword() ) :: :ok | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Delete Member
Delete a member of a customer.
Scopes: members:write
@spec customers_members_delete_external( external_id :: String.t(), member_external_id :: String.t(), opts :: keyword() ) :: :ok | {:error, Polarex.AmbiguousExternalCustomerID.t() | Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Delete Member by External ID
Delete a member by external ID for a customer identified by its external ID.
Scopes: members:write
@spec customers_members_get( id :: String.t(), member_id :: String.t(), opts :: keyword() ) :: {:ok, Polarex.Member.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Get Member
Get a member of a customer by its ID.
Scopes: members:read members:write
@spec customers_members_get_external( external_id :: String.t(), member_external_id :: String.t(), opts :: keyword() ) :: {:ok, Polarex.Member.t()} | {:error, Polarex.AmbiguousExternalCustomerID.t() | Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Get Member by External ID
Get a member by external ID for a customer identified by its external ID.
Scopes: members:read members:write
@spec customers_members_update( id :: String.t(), member_id :: String.t(), body :: Polarex.MemberUpdate.t(), opts :: keyword() ) :: {:ok, Polarex.Member.t()} | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Update Member
Update a member of a customer.
Only name, email and role can be updated.
Scopes: members:write
Request Body
Content Types: application/json
@spec customers_members_update_external( external_id :: String.t(), member_external_id :: String.t(), body :: Polarex.MemberUpdate.t(), opts :: keyword() ) :: {:ok, Polarex.Member.t()} | {:error, Polarex.AmbiguousExternalCustomerID.t() | Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}
Update Member by External ID
Update a member by external ID for a customer identified by its external ID.
Scopes: members:write
Request Body
Content Types: application/json
@spec members_list_members(opts :: keyword()) :: {:ok, Polarex.ListResourceMember.t()} | {:error, Polarex.HTTPValidationError.t()}
List Members
List members with optional customer ID filter.
Scopes: members:read members:write
Options
customer_id: Filter by customer ID.external_customer_id: Filter by customer external ID.role: Filter by member role.page: Page number, defaults to 1.limit: Size of a page, defaults to 10. Maximum is 100.sorting: Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign-before the criteria name to sort by descending order.