Manage user accounts using the Limitly Next.js SDK
import { Limitly } from '@limitly/limitly-nextjs'; const limitly = new Limitly({ apiKey: process.env.LIMITLY_API_KEY! }); // Create a new user const newUser = await limitly.users.create({ name: 'John Doe', email: 'user@example.com' }); console.log('New user created:', newUser.data?.user_id);
// Get all users const users = await limitly.users.list(); console.log('Users:', users.data);
// Get user details const user = await limitly.users.get(123); console.log('User details:', { user_id: user.data?.user_id, name: user.data?.name, email: user.data?.email, is_disabled: user.data?.is_disabled, created_at: user.data?.created_at });
// Update a user const updatedUser = await limitly.users.update(123, { name: 'John Smith', email: 'john.smith@example.com' }); console.log('Updated user:', updatedUser.data);
// Delete a user await limitly.users.delete(123); console.log('User deleted successfully');
// Get user usage const usage = await limitly.users.getUsage(123); console.log('User usage:', { type: usage.data?.type, current_usage: usage.data?.current_usage, limit: usage.data?.limit, percentage_used: usage.data?.percentage_used, user_name: usage.data?.user_name, plan_name: usage.data?.plan_name });
// Get user API keys const apiKeys = await limitly.users.getApiKeys(123); console.log('User API keys:', apiKeys.data);
// app/api/users/route.ts import { Limitly } from '@limitly/limitly-nextjs'; const limitly = new Limitly({ apiKey: process.env.LIMITLY_API_KEY! }); export async function POST(request: Request) { try { const body = await request.json(); const newUser = await limitly.users.create({ name: body.name, email: body.email }); return Response.json({ success: true, user: newUser.data }); } catch (error) { return Response.json({ success: false, error: error.message }, { status: 500 }); } } export async function GET(request: Request) { try { const users = await limitly.users.list(); return Response.json({ success: true, users: users.data, count: users.count }); } catch (error) { return Response.json({ success: false, error: error.message }, { status: 500 }); } }
// Activate a user await limitly.users.update(123, { is_disabled: false }); // Suspend a user await limitly.users.update(123, { is_disabled: true });
// Search users by email const users = await limitly.users.list({ email: 'user@example.com' }); console.log('Users found:', users.data);
import { Limitly } from '@limitly/limitly-nextjs'; const limitly = new Limitly({ apiKey: process.env.LIMITLY_API_KEY! }); try { const user = await limitly.users.create({ name: 'John Doe', email: 'user@example.com' }); console.log('User created:', user.data?.user_id); } catch (error) { if (error.message.includes('Email already exists')) { console.error('User with this email already exists'); } else if (error.message.includes('Invalid email')) { console.error('Invalid email format'); } else { console.error('Unexpected error:', error.message); } }
Was this page helpful?