Skip to main content
The feedback form was revamped in v2.2. The body now collects 11 user-supplied responses (5 ratings, 3 yes/maybe/no answers, 5 optional free-text fields). The legacy valuable_metric enum was replaced with a free-text most_valuable field; difficulty_level now uses a 1–5 scale (was 1–3). Older feedback rows in Mongo retain their original shape and are readable as-is — only new submissions follow the new schema.
After completing a case study session, students submit feedback rating the experience and answering a few targeted questions. Each session accepts exactly one feedback submission.

Submit Feedback

POST /v1/feedbacks
Submit feedback for a completed session. The case study is resolved from the session automatically. If the underlying case study has been deleted, the request is rejected.

Authentication

Requires a valid access token (any authenticated user).

Request body

Identifier

session_id
string
required
The session ID to submit feedback for. Must be a valid 24-character ObjectId.

Ratings (1–5, all required)

rating
integer
required
How would you rate this session?
difficulty_level
integer
required
How challenging was this case study?
clarity_level
integer
required
How clear were the agent’s responses?
overall_experience_rating
integer
required
How would you rate your overall experience with MIND v2?
interface_rating
integer
required
How would you rate the interface design?

Yes / Maybe / No (all required)

helpful_for_learning
string
required
Was MIND helpful in guiding your learning or decisions? yes, maybe, or no.
avatar_relatable
string
required
Did the avatar make the case study feel more personal or relatable? yes, maybe, or no.
would_recommend
string
required
Would you recommend MIND to others? yes, maybe, or no.

Free text (all optional, max 2000 characters each)

most_valuable
string
What was most valuable?
confusing_or_difficult
string
What did you find confusing or difficult?
improvements
string
What would you like to see improved as a student user?
avatar_feedback
string
What did you like or dislike about interacting with the avatar?
additional_info
string
Any other feedback, issues, or ideas?

Example request

curl -X POST https://staging-be.mind.miva.university/v1/feedbacks \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "6651a1b2c3d4e5f6a7b8c9d0",
    "rating": 4,
    "difficulty_level": 4,
    "clarity_level": 5,
    "overall_experience_rating": 5,
    "interface_rating": 4,
    "helpful_for_learning": "yes",
    "avatar_relatable": "maybe",
    "would_recommend": "yes",
    "most_valuable": "Being challenged to defend my reasoning instead of just receiving the answer.",
    "confusing_or_difficult": "The opening question was a lot to process at once.",
    "improvements": "A short scenario summary on the case study card before starting.",
    "avatar_feedback": "The voice felt natural; the personality was on point.",
    "additional_info": "Loved it overall."
  }'

Response

{
  "success": true,
  "data": {
    "id": "6650f1a2b3c4d5e6f7a8b9c0",
    "session_id": "6651a1b2c3d4e5f6a7b8c9d0",
    "user_id": "6650a1b2c3d4e5f6a7b8c9d0",
    "case_study_id": "6650c3d4e5f6a7b8c9d0e1f2",
    "rating": 4,
    "difficulty_level": 4,
    "clarity_level": 5,
    "overall_experience_rating": 5,
    "interface_rating": 4,
    "helpful_for_learning": "yes",
    "avatar_relatable": "maybe",
    "would_recommend": "yes",
    "most_valuable": "Being challenged to defend my reasoning instead of just receiving the answer.",
    "confusing_or_difficult": "The opening question was a lot to process at once.",
    "improvements": "A short scenario summary on the case study card before starting.",
    "avatar_feedback": "The voice felt natural; the personality was on point.",
    "additional_info": "Loved it overall.",
    "created_at": "2026-04-30T14:30:00Z"
  },
  "message": "Feedback submitted successfully"
}

Error responses

StatusCodeCondition
404NOT_FOUNDSession not found, or the underlying case study has been deleted
409CONFLICTFeedback already submitted for this session
422VALIDATION_ERRORInvalid input (rating out of range, bad ObjectId format, missing required field, invalid yes/maybe/no value)