Users hooks
React hooks for users — list, get, update, delete. Admin only.
Usage
TSX
import Aeontel from "@aeontel/sdk";
import { AeontelProvider, useListUsers } from "@aeontel/react";
const client = new Aeontel(import.meta.env.VITE_AEONTEL_API_KEY);
function App() {
return (
<AeontelProvider client={client}>
<UserList />
</AeontelProvider>
);
}
function UserList() {
const { data, isLoading } = useListUsers();
if (isLoading) return <p>Loading…</p>;
return (
<ul>
{data?.data.map((u) => (
<li key={u.id}>{u.email}</li>
))}
</ul>
);
}Hooks
useDeleteUser mutation
Delete a user (admin only). Auto-invalidates user queries on success.
TypeScript
useDeleteUser(options?: MutationOpts<SuccessResponse, string>)Types: SuccessResponse
TypeScript
const del = useDeleteUser();
del.mutate("usr_abc123");useListUsers query
Fetch paginated list of users (admin only).
TypeScript
useListUsers(params?: ListUsersParams, options?: QueryOpts<PaginatedResponse<User>>)Types: ListUsersParams · User
TypeScript
const { data, isLoading } = useListUsers();useMe composite
Fetch the currently authenticated user. Resolves the bearer token /
cookie session to the underlying user row server-side. Use this to
render the signed-in identity without knowing the user's prefixed ID
up front (header avatars, mobile sign-in screens, CLI whoami, etc.).
TypeScript
useMe(options?: QueryOpts<User>)Types: User
TypeScript
const { data: me } = useMe();
if (me) return <p>Signed in as {me.email}</p>;useRetrieveUser query
Fetch a single user by ID (admin only).
TypeScript
useRetrieveUser(id: string, options?: QueryOpts<User>)Types: User
TypeScript
const { data: user } = useRetrieveUser("usr_abc123");useUpdateUser mutation
Update a user (admin only). Optimistically updates the detail cache and invalidates on settle.
TypeScript
useUpdateUser(options?: MutationOpts<User, UpdateUserParams>)Types: User
TypeScript
const update = useUpdateUser();
update.mutate({ id: "usr_abc123", role: "admin" });