InAppFeedbackSDK

API Service Documentation

The In-App Feedback Backend provides a RESTful API for managing feedback forms and collecting user feedback across multiple applications. All endpoints return JSON responses and use standard HTTP status codes.

Base URL

https://feedback-backend-one.vercel.app

Authentication

Currently, the API does not require authentication for most endpoints. This might be changed in the future.

Form Management

Create Feedback Form

Creates a new feedback form for a specific application package.

Endpoint: POST /admin/forms

Request Body:

{
    "package_name": "com.example.app",
    "title": "We value your feedback",
    "form_type": "rating_text"
}

Parameters:

Response Codes:

Example Response:

{
    "form_id": "64f8a1b2c3d4e5f6a7b8c9d0",
    "package_name": "com.example.app",
    "title": "Feedback Form",
    "form_type": "rating_text",
    "is_active": true,
    "created_at": "2025-06-15T10:30:00Z"
}

Get All Package Names

Retrieves all unique package names that have feedback forms.

Endpoint: GET /forms/packages

Response Codes:

Example Response:

[
    "com.example.app1",
    "com.example.app2",
    "com.mycompany.mobileapp"
]

Get Active Form

Retrieves the currently active feedback form for a specific package.

Endpoint: GET /forms/{package_name}

Path Parameters:

Response Codes:

Example Response:

{
    "form_id": "64f8a1b2c3d4e5f6a7b8c9d0",
    "package_name": "com.example.app",
    "title": "Help us improve your experience",
    "form_type": "rating_text",
    "is_active": true,
    "created_at": "2025-06-15T10:30:00Z"
}

Get All Forms by Package

Retrieves all feedback forms for a specific package, with optional filtering by active status.

Endpoint: GET /forms/{package_name}/all

Path Parameters:

Query Parameters:

Response Codes:

Get All Forms

Retrieves all feedback forms across all packages. Endpoint: GET /forms/all

Query Parameters:

Response Codes:

Activate Form

Updates the active status of a feedback form. Only one form can be active per package.

Endpoint: PUT /forms/{form_id}/activate

Path Parameters:

Request Body:

{
    "is_active": true
}

Response Codes:

Search Forms

Search for forms using various filters.

Endpoint: GET /forms/search

Query Parameters:

Response Codes:


Feedback Submission and Analysis

Submit Feedback

Submits new user feedback for a specific application.

Endpoint: POST /feedback

Request Body:

{
    "app_version": "1.0.5",
    "device_info": "iPhone 14 Pro",
    "form_id": "64f8a1b2c3d4e5f6a7b8c9d0",
    "message": "The app is great but could use dark mode",
    "package_name": "com.example.myapp",
    "rating": 4,
    "user_id": "user123"
}

Parameters:

Response Codes:

Example Response:

{
    "feedback_id": "64f8a1b2c3d4e5f6a7b8c9d1",
    "submitted_at": "2024-01-15T14:30:00Z"
}

Get Package Feedback

Retrieves all feedback submissions for a specific package.

Endpoint: GET /feedback/{package_name}

Path Parameters:

Query Parameters:

Response Codes:

Get Feedback Details

Retrieves detailed information about a specific feedback submission.

Endpoint: GET /feedback/{package_name}/{feedback_id}

Path Parameters:

Response Codes:

Get User Feedback

Retrieves all feedback submissions from a specific user for a package.

Endpoint: GET /feedback/{package_name}/user/{user_id}

Path Parameters:

Response Codes:

Get Average Rating

Calculates and returns the average rating for a package.

Endpoint: GET /feedback/{package_name}/average-rating

Path Parameters:

Query Parameters:

Response Codes:

Example Response:

{
    "average_rating": 4.2,
    "total_ratings": 150
}

Get Feedback Statistics

Retrieves comprehensive statistics for package feedback.

Endpoint: GET /feedback/{package_name}/stats

Path Parameters:

Query Parameters:

Response Codes:

Example Response:

{
    "average_rating": 4.2,
    "rating_breakdown": {
    "1": 5,
    "2": 10,
    "3": 25,
    "4": 110,
    "5": 100
    },
    "total_feedback": 250
}

Search Feedback

Searches through feedback messages for specific content.

Endpoint: GET /feedback/{package_name}/search

Path Parameters:

Query Parameters:

Response Codes:

Get Recent Feedback

Retrieves the most recent feedback submissions for a package.

Endpoint: GET /feedback/{package_name}/recent

Path Parameters:

Query Parameters:

Response Codes:

Delete Feedback

Deletes a specific feedback submission.

Endpoint: DELETE /feedback/{package_name}/{feedback_id}

Path Parameters:

Response Codes:

Delete Form Feedback

Deletes all feedback submissions for a specific form.

Endpoint: DELETE /feedback/{package_name}/form/{form_id}

Path Parameters:

Response Codes:

Delete All Package Feedback

Deletes all feedback submissions for a package.

Endpoint: DELETE /feedback/{package_name}

Path Parameters:

Response Codes:


Form Types

The system supports three types of feedback forms:

Interactive API Documentation

For interactive API testing and detailed request/response examples, visit the Swagger UI documentation at:

http://feedback-backend-one.vercel.app/apidocs/

This provides a web interface where you can test API endpoints directly and see real-time responses.