Manage user accounts and track their usage using the Limitly REST API.
List Users
Get all users for your account:
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
https://api.limitly.dev/functions/v1/users
Response
{
"data": [
{
"user_id": 123,
"name": "John Doe",
"email": "john@example.com",
"is_disabled": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"count": 1
}
Create User
Create a new user account:
curl -X POST \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"email": "john@example.com"
}' \
https://api.limitly.dev/functions/v1/users
Request Parameters
The email address of the user
Response
{
"data": {
"user_id": 123,
"name": "John Doe",
"email": "john@example.com",
"is_disabled": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
}
Get User
Retrieve a specific user by ID:
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
https://api.limitly.dev/functions/v1/users/123
Response
{
"data": {
"user_id": 123,
"name": "John Doe",
"email": "john@example.com",
"is_disabled": false,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
}
Update User
Update an existing user:
curl -X PUT \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
-H "Content-Type: application/json" \
-d '{
"name": "John Smith",
"email": "john.smith@example.com"
}' \
https://api.limitly.dev/functions/v1/users/123
Request Parameters
New email address for the user
Whether the user account is disabled
Delete User
Delete a user account:
curl -X DELETE \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
https://api.limitly.dev/functions/v1/users/123
Response
{
"data": {
"message": "User deleted successfully"
}
}
Get User Usage
Get usage statistics for a specific user:
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
https://api.limitly.dev/functions/v1/users/123/usage
Response
{
"data": {
"type": "user",
"current_usage": 45,
"limit": 1000,
"percentage_used": 4.5,
"user_name": "John Doe",
"plan_name": "Basic Plan"
}
}
Get User API Keys
Get all API keys associated with a user:
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
https://api.limitly.dev/functions/v1/users/123/keys
Response
{
"data": [
{
"id": "key_123",
"name": "Production API Key",
"plan_id": "plan_789",
"status": "active",
"created_at": "2024-01-01T00:00:00Z"
}
],
"count": 1
}
Get User Requests
Get detailed request history for a user:
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
https://api.limitly.dev/functions/v1/users/123/requests
Response
{
"data": {
"requests": [
{
"timestamp": "2024-01-01T12:00:00Z",
"endpoint": "/api/users",
"method": "GET",
"status": "allowed",
"ip_address": "192.168.1.1"
}
],
"count": 1
}
}
User Status Management
Manage user account status:
# Activate a user
curl -X PUT \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
-H "Content-Type: application/json" \
-d '{
"is_disabled": false
}' \
https://api.limitly.dev/functions/v1/users/123
# Suspend a user
curl -X PUT \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
-H "Content-Type: application/json" \
-d '{
"is_disabled": true
}' \
https://api.limitly.dev/functions/v1/users/123
Search Users
Search for users by various criteria:
# Search by email
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
"https://api.limitly.dev/functions/v1/users?email=john@example.com"
Error Responses
User Not Found
{
"error": "User not found",
"code": "USER_NOT_FOUND"
}
Validation Error
{
"error": "Validation failed",
"code": "VALIDATION_ERROR",
"details": {
"field": "email",
"message": "Invalid email format"
}
}
Duplicate Email
{
"error": "Email already exists",
"code": "DUPLICATE_EMAIL"
}
List endpoints support pagination with the following query parameters:
Number of items per page (default: 10, max: 100)
Example
curl -X GET \
-H "Authorization: Bearer lk_1234567890abcdef1234567890abcdef" \
"https://api.limitly.dev/functions/v1/users?page=2&limit=20"
User Properties
The API supports the following user properties:
- user_id: Unique identifier for the user
- name: User’s display name
- email: User’s email address (optional)
- is_disabled: Whether the user account is disabled
- created_at: Timestamp when the user was created
- updated_at: Timestamp when the user was last updated
Next Steps