API Reference
Everything you need to integrate with the ClientLens feedback API. Submit feedback programmatically from any platform.
Base URL
Authentication
All SDK API requests are authenticated using your project key.
Project Key
Include your project key in the X-Project-Key header with every request. You can find your project key in the project settings page of your dashboard.
X-Project-Key: your-project-key-here
Keep your project key secure. While it is designed for client-side use in mobile SDKs, avoid exposing it in public repositories or client-facing web applications.
Submit Feedback
Send user feedback including screenshots and device information.
Content-Type: multipart/form-data -- Required because the endpoint accepts file uploads.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
type |
string | Yes | Feedback type. One of: bug, feature, improvement, other |
title |
string | Yes | Short summary of the feedback (max 255 characters) |
description |
string | No | Detailed description of the feedback |
screenshot |
file | No | Screenshot image file (PNG, JPG, max 10 MB) |
device_model |
string | No | Device model name (e.g., "iPhone 15 Pro", "Pixel 8") |
os_version |
string | No | Operating system version (e.g., "iOS 17.2", "Android 14") |
app_version |
string | No | Your application version string (e.g., "2.1.0") |
screen_name |
string | No | Name or identifier of the screen where feedback was captured |
extra_data |
JSON string | No | Arbitrary JSON object with additional context data |
Example Request
curl -X POST https://clientlens.online/api/v1/sdk/feedback \
-H "X-Project-Key: your-project-key-here" \
-H "Accept: application/json" \
-F "type=bug" \
-F "title=App crashes on profile page" \
-F "description=When I tap the edit button, the app freezes and then crashes." \
-F "screenshot=@/path/to/screenshot.png" \
-F "device_model=iPhone 15 Pro" \
-F "os_version=iOS 17.2" \
-F "app_version=2.1.0" \
-F "screen_name=ProfileScreen" \
-F 'extra_data={"user_id":"usr_123","session_id":"sess_abc"}'
Example Response
{
"success": true,
"data": {
"id": 142,
"type": "bug",
"title": "App crashes on profile page",
"description": "When I tap the edit button...",
"status": "open",
"device_model": "iPhone 15 Pro",
"os_version": "iOS 17.2",
"app_version": "2.1.0",
"screen_name": "ProfileScreen",
"screenshot_url": "https://clientlens.online/storage/screenshots/3/a1b2c3.png",
"created_at": "2026-02-22T10:30:00.000000Z"
}
}
Error Codes
Missing or invalid X-Project-Key header
Validation error (missing required fields or invalid values)
Rate limit exceeded (60 requests/minute)
Internal server error
Rate Limits
Fair usage limits to ensure reliability for all users.
60 requests per minute
Each project key is limited to 60 feedback submissions per minute. If you exceed this limit, the API will return a 429 status code.
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1708603200
Ready to integrate?
Use our drop-in SDKs for the fastest integration, or call the API directly.