Skip to main content

Register

Create a new Vrin account.
POST /api/auth/signup
email
string
required
Email address for the new account.
password
string
required
Password.
name
string
Display name.
{
  "success": true,
  "user_id": "user_xyz",
  "api_key": "vrin_abc123...",
  "message": "Account created"
}

Login

Authenticate and receive an API key.
POST /api/auth/login
email
string
required
Account email.
password
string
required
Account password.
{
  "success": true,
  "api_key": "vrin_abc123...",
  "user_id": "user_xyz",
  "email": "user@example.com"
}

List API keys

List all API keys for the authenticated user.
GET /api/auth/api-keys
Authorization
string
required
Bearer token.
{
  "api_keys": [
    {
      "key_id": "key_123",
      "name": "Production",
      "prefix": "vrin_abc...",
      "created_at": "2025-12-01T00:00:00Z"
    }
  ]
}

Create API key

POST /api/auth/create-api-key
Authorization
string
required
Bearer token.
name
string
Human-readable name for the key.
{
  "success": true,
  "api_key": "vrin_new_key...",
  "key_id": "key_456",
  "name": "Production"
}
The full API key is only shown once at creation time. Store it securely.

Delete API key

POST /api/auth/delete-api-key
Authorization
string
required
Bearer token.
key_id
string
required
The ID of the key to delete (not the key value).
{
  "success": true,
  "message": "API key deleted"
}

Get user limits

Check the authenticated user’s plan and usage limits.
GET /api/user/limits
Authorization
string
required
Bearer token.
{
  "plan": "free",
  "queries_remaining": 100,
  "inserts_remaining": 50,
  "allowed_models": ["gpt-4o-mini"],
  "max_file_size_mb": 10
}