---
title: "Submit in-app feedback (bug report or feature request)"
method: POST
path: "/api/feedback"
tags: ["Feedback"]
---

# Submit in-app feedback (bug report or feature request)

`POST /api/feedback`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/feedback`
- Auth: HTTP bearer

Accepts multipart/form-data with feedback fields and optional file attachments. Files are uploaded to S3 and the submission is logged to Google Sheets. If the feedback is a blocking bug, an email alert is sent to configured recipients.

## Request body `multipart/form-data`

- FeedbackSubmission
  - `feedback_type` 'bug' | 'feature_request', required: Type of feedback
  - `title` string, required: Brief title for the feedback
  - `description` string, required: Detailed description
  - `is_blocking` 'true' | 'false': Whether this is a blocking bug (sent as string in FormData)
  - `page_url` string, required: URL of the page where the issue was encountered
  - `browser_os` string, required: Browser and OS information
  - `app_version` string, required: Application version
  - `build_number` string: Build number (optional)
  - `environment` string: Environment (defaults to NODE_ENV)
  - `attachments` string[]: File attachments (max 5, 10MB each)

## Response `201`

Feedback submitted successfully

- object
  - `success` boolean
  - `data` FeedbackResponse
    - `success` boolean
    - `attachmentCount` integer
  - `message` string

## Other responses

- `401`: Unauthorized - authentication required
- `422`: Validation failed
- `429`: Too many requests - rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
