Dashboard

Reject a draft and check other interventions

Requires owner or admin access. Atomically declines a manual_pending outcome, or a calibration draft with written copy (would_dispatch in a calibration app or decision; nothing is ever sent), and queues a fresh alternative check. Excludes this intervention for this recipient for at least 24 hours and until new activity occurring after rejection contributes positively to its current score. Alternatives require approval after calibration. A calibration row without written copy, or one already handed to delivery, cannot be declined (409). A calibration decline excludes the intervention for this recipient like a manual one, also after the app leaves calibration, until the exclusion ends. Repeated calls preserve the original decision.

post/dashboard/apps/{app_id}/message-previews/{outcome_id}/reject

Request

  • Base URL: https://api.whisperr.net
  • URL: https://api.whisperr.net/dashboard/apps/{app_id}/message-previews/{outcome_id}/reject
  • Auth: HTTP bearer

Path parameters

app_idstring required

whisp-go runtime app id or imported onboarding source_app_id.

outcome_idstring required

Request body

notestring
reasonstring

Older free-text field. Used as the note when note is absent.

reason_code'timing' | 'tone' | 'relevance' | 'channel'

Why the owner declined. Any other value returns 400 invalid_request.

Response

Existing rejection returned; its alternative check has completed or failed.

notestring required
outcome_idstring required
reasonstring required

Same value as note.

reason_code'timing' | 'tone' | 'relevance' | 'channel' | 'null' nullable required

Null when the decline had no code (older clients and backoffice).

reason_code_label'Wrong timing' | 'Off-brand tone' | 'Not for this person' | 'Wrong channel' | 'null' nullable required
requires_new_activitytrue required
status'manual_rejected' required
user_idstring required

Changes

No recorded changes to this operation across all 1 revision of this API.