# Review a public app Sets review outcome (approve/reject/changes requested), feedback, and optional reviewer notes. Returns the updated app details as a ShowResponse wrapping an AppDTO. Endpoint: POST /api/v2/apps/public/{uuid}/review Version: 1.0 Security: BearerAuthentication ## Path parameters: - `uuid` (string, required) UUID of the public app to review ## Request fields (application/json): - `feedback` (string) Feedback shown to the developer. Example: "Please add screenshots to the app details." - `reviewerNotes` (string) Internal notes for reviewers (not shown to the developer). - `publishState` (string) Publish state after review: APPROVED, REJECTED, CHANGES_REQUESTED. Example: "APPROVED" ## Response 200 fields (application/json): - `message` (string) A message detailing the result of the operation. Example: "Success" - `data` (any) The data payload of the response, if any. ## Response 404 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array) ## Response 500 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array)