Base URL: http://fishapp.qzenselabs.com
Description: Log in a user.
Headers: Content-Type: application/json
JSON Body:
{
"username": "john_doe",
"password": "secretPassword",
"phone_number": "1234567890"
}
Description: Create a new user account. (phone_number is preferred)
Headers: Content-Type: application/json
JSON Body:
{
"username": "john_doe",
"password": "secretPassword",
"phone_number": "1234567890",
"email": "john@example.com"
}
Description: Verify the OTP sent during signup.
Headers: Content-Type: application/json
JSON Body:
{
"otp": "123456"
}
Description: Initiate password reset by sending an OTP to the user’s phone number.
Headers: Content-Type: application/json
JSON Body: (phone_number and username required)
{
"username": "john_doe",
"phone_number": "1234567890"
}
Description: Reset password using OTP verification.
Headers: Content-Type: application/json
JSON Body:
{
"username": "john_doe",
"otp": "123456",
"new_password": "newSecretPassword"
}
Description: Retrieve details of the authenticated user.
Headers: Authorization: Bearer <token>
GET http://fishapp.qzenselabs.com/auth/user-details/
Description: Update the user's email address (two-step process).
Step 1 JSON Body:
{
"new_email": "new@example.com",
"phone_number": "1234567890"
}
Step 2 JSON Body:
{
"new_email": "new@example.com",
"otp": "123456",
"phone_number": "1234567890"
}
Description: Delete a user. The authenticated user can delete their account by providing their username.
Headers: Content-Type: application/json, Authorization: Bearer <token>
JSON Body:
{
"username": "john_doe"
}
Description: Request an OTP to retrieve the username using the registered phone number.
Headers: Content-Type: application/json
{
"phone_number": "1234567890"
}
Description: Reset username (two-step process using phone_number).
Step 1 JSON Body:
{
"phone_number": "1234567890"
}
Step 2 JSON Body:
{
"phone_number": "1234567890",
"otp": "123456",
"new_username": "new_john"
}
Description: Process a DL/ML prediction request.
Note: The parameter part determines the branch:
- If part is gills, the DL/ML prediction branch is executed.
- If part is body and FishName is provided (e.g. "mackerel" or "sardine"), the fish detection branch is executed.
Headers: Authorization: Bearer <token>
Body Type: multipart/form-data
Form-data Fields:
deviceModel (string)brand (string)test (string)mlModel (string, e.g. "banana")part: "gills"hour (number/string)flash (string)phone_number (string, preferred)capture (file: image)POST http://fishapp.qzenselabs.com/post/
Headers:
Authorization: Bearer <token>
Body (form-data):
deviceModel: "XYZ"
brand: "ABC"
test: "sample"
mlModel: "banana"
part: "gills"
hour: "12"
flash: "yes"
phone_number: "1234567890"
capture: [Select image file]
Usage: Set part to "body" and include the FishName parameter (e.g., "mackerel" or "sardine").
Form-data Fields:
deviceModel (string)brand (string)test (string)mlModel (string)part: "body"FishName: e.g. "mackerel" or "sardine"hour (number/string)flash (string)phone_number (string, preferred)capture (file: image)POST http://fishapp.qzenselabs.com/post/
Headers:
Authorization: Bearer <token>
Body (form-data):
deviceModel: "XYZ"
brand: "ABC"
test: "sample"
mlModel: "any"
part: "body"
FishName: "mackerel"
hour: "12"
flash: "no"
phone_number: "1234567890"
capture: [Select image file]
Description: Submit feedback on a prediction result.
Headers: Content-Type: application/json, Authorization: Bearer <token>
JSON Body: (include phone_number if applicable)
{
"f1_actual": "Good",
"f2_actual": "Bad",
"f3_actual": "Good",
"phone_number": "1234567890"
}
Description: Process a tomato image for detection.
Headers: Authorization: Bearer <token>
Body Type: multipart/form-data
Form-data: capture (file: tomato image)
POST http://fishapp.qzenselabs.com/tomato/
Headers:
Authorization: Bearer <token>
Body (form-data):
capture: [Select tomato image file]
Description: Perform object detection on an image.
Headers: Authorization: Bearer <token>
Body Type: multipart/form-data
Form-data: capture (file: image)
POST http://fishapp.qzenselabs.com/detection/
Headers:
Authorization: Bearer <token>
Body (form-data):
capture: [Select image file]