Spaces:
Sleeping
license: apache-2.0
title: Dhruv AI
sdk: docker
emoji: π
colorFrom: indigo
colorTo: pink
Frontend API Documentation
This document provides all the necessary information for frontend developers to integrate the backend API endpoints with the user interface for the Lost and Found Face Recognition System.
General Information
- Base URL:
https://krish09bha-dhruvai.hf.space
- Content Type:
application/json
for GET requests,multipart/form-data
for POST requests. - Authentication: Currently, no authentication headers are required.
Endpoints
1. Upload Lost Person
Endpoint: /upload_lost
Method: POST
Purpose: Upload the details and image of a lost person to the system.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
name |
string |
Yes | Name of the lost person |
gender |
string |
Yes | Gender of the lost person |
age |
int |
Yes | Age of the lost person |
where_lost |
string |
Yes | Location where the person was lost |
your_name |
string |
Yes | Name of the person filing the report |
relation_with_lost |
string |
Yes | Relationship of the reporter with the lost person |
user_id |
string |
Yes | Unique identifier for the reporting user |
mobile_no |
string |
Yes | Mobile number of the reporter |
email_id |
string |
Yes | Email ID of the reporter |
file |
File |
Yes | Image file of the lost person |
Request (Example) (Form-Data):
{
"name": "John Doe",
"gender": "Male",
"age": 25,
"where_lost": "Central Park",
"your_name": "Jane Doe",
"relation_with_lost": "Sibling",
"user_id": "user12345",
"mobile_no": "+123456789",
"email_id": "[email protected]",
"file": "<File>"
}
Response (Success):
{
"message": "Lost person uploaded successfully.",
"matched_found": [
{
"face_id": "abc123",
"name": "Matched Found Person",
"gender": "Male",
"age": 25,
"location_found": "Main Street",
...
}
]
}
Response (Error):
{
"detail": "No face detected in the image."
}
2. Upload Found Person
Endpoint: /upload_found
Method: POST
Purpose: Upload the details and image of a found person.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
name |
string |
Yes | Name of the found person |
gender |
string |
Yes | Gender of the found person |
age |
int |
Yes | Age of the found person |
where_found |
string |
Yes | Location where the person was found |
your_name |
string |
Yes | Name of the person filing the report |
organization |
string |
Yes | Organization the reporter belongs to |
designation |
string |
Yes | Designation of the reporter |
user_id |
string |
Yes | Unique identifier for the reporting user |
mobile_no |
string |
Yes | Mobile number of the reporter |
email_id |
string |
Yes | Email ID of the reporter |
file |
File |
Yes | Image file of the found person |
Request (Example) (Form-Data):
{
"name": "Unknown Person",
"gender": "Male",
"age": 30,
"where_found": "Airport",
"your_name": "Officer Jane",
"organization": "Police Department",
"designation": "Inspector",
"user_id": "officer123",
"mobile_no": "+987654321",
"email_id": "[email protected]",
"file": "<File>"
}
Response (Success):
{
"message": "Found person uploaded successfully.",
"matched_lost": [
{
"face_id": "123abc",
"name": "Matched Lost Person",
"gender": "Male",
"age": 30,
"where_lost": "Central Park",
...
}
]
}
Response (Error):
{
"detail": "No face detected in the image."
}
3. Upload Live Feed
Endpoint: /upload_live_feed
Method: POST
Purpose: Upload image data from live security camera feeds.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
camera_id |
string |
Yes | Identifier for the live feed camera |
where_found |
string |
Yes | Specific location details |
location |
string |
Yes | General location (e.g., building name) |
your_name |
string |
Yes | Name of the person providing the feed |
organization |
string |
Yes | Organization of the person providing the feed |
designation |
string |
Yes | Designation of the person |
user_id |
string |
Yes | Unique identifier for the reporting user |
mobile_no |
string |
Yes | Mobile number of the person providing the feed |
email_id |
string |
Yes | Email ID of the person providing the feed |
file |
File |
Yes | Image from the security feed |
Response:
{
"message": "Face added to the live feed successfully.",
"metadata": {
"face_id": "xyz123",
"camera_id": "camera001",
"location": "Mall Entrance",
"location_details": "Main Gate",
...
}
}
4. Get Records by User
Endpoint: /get_records_by_user/{user_id}
Method: GET
Purpose: Fetch all records uploaded by a specific user.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
user_id |
string |
Yes | Unique identifier of the user |
Response:
{
"message": "Records found.",
"records": [
{
"source": "lost_people",
"data": {
"face_id": "abc123",
"name": "John Doe",
...
}
},
{
"source": "found_people",
"data": {
"face_id": "xyz789",
"name": "Unknown Person",
...
}
}
]
}
Response (No Records):
{
"message": "No records found.",
"records": []
}
5. Search Face by ID
Endpoint: /search_face/{face_id}
Method: GET
Purpose: Look for face data using a unique face_id
.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
face_id |
string |
Yes | Unique identifier for the face record |
Response:
{
"message": "Face found in lost_people.",
"record": {
"face_id": "abc123",
"name": "John Doe",
...
}
}
Response (Not Found):
{
"detail": "Face ID not found."
}
Additional Notes
- Error Messages: All error messages follow standardized HTTP response codes.
- Testing Tools: Use FastAPI's Swagger UI
/docs
or Postman for testing endpoints. - Image Upload: Ensure the images uploaded are clear and contain recognizable faces. Blurry images may cause detection issues.
Happy coding!