Messenger Platform · error code

Messenger error 200: pages_messaging not reviewed - app not live

ConfigurationHTTP 403Permissions, app review & thread control

Last verified against Meta for Developers - Messenger Platform error codes

What Messenger returns
Permission Error: Cannot message users who are not admins, developers or testers of the app until pages_messaging permission is reviewed and the app is live.

What error 200 means

Code 200 is the App Review wall, and its message is unusually explicit: "Cannot message users who are not admins, developers or testers of the app until pages_messaging permission is reviewed and the app is live." Meta's error-handling guide files the whole 200-299 block under permission errors, and this is the member every Messenger developer meets on the way to production.

The mechanics: while an app is in Development mode, or Live with only Standard Access to pages_messaging, the Send API works exclusively for people who hold a role on the app (admin, developer, tester). Everything looks perfect in your own testing, then the first real user gets silence. That works-for-me-only signature is the fastest way to recognize 200 without even reading logs, and it is the single most common "my bot ignores everyone else" cause in the Messenger troubleshooting guide.

Two switches must both be flipped: the app toggled to Live mode, and pages_messaging granted Advanced Access through App Review. A Live app with Standard Access behaves, for messaging, exactly as if it were still in development. The review itself wants evidence: reviewers follow your instructions against the real bot, so a test Page, clear steps and a screencast of the end-to-end flow materially speed approval.

Watch the subcode, because code 200 is a family: subcode 1545041 is not a review problem at all but an unreachable recipient, and 2018027 is the same review wall for the separate pages_messaging_phone_number permission. A missing scope on the token, rather than a missing review, surfaces as 230 instead. What is NOT wrong: your token (it authenticated), your code, and the recipient; the gap is administrative.

What it looks like

{
  "error": {
    "message": "(#200) Cannot message users who are not admins, developers or testers of the app until pages_messaging permission is reviewed and the app is live.",
    "type": "OAuthException",
    "code": 200,
    "fbtrace_id": "BLBz/WZt8dN"
  }
}

Why it happens

  • The app is still in Development mode while real users are already messaging the Page.
  • The app is Live but pages_messaging only has Standard Access; Advanced Access via App Review was never granted.
  • App Review was submitted but rejected or is still pending, and the launch went ahead anyway.
  • A new app replaced an approved one during a migration, resetting review status.
  • Testing accounts lost their app roles, making the restriction suddenly visible even to the team.

How to fix Messenger error 200

  1. 1In the App Dashboard, check both switches: App Mode (Development vs Live) and the Access level shown next to pages_messaging under Permissions & Features.
  2. 2Request Advanced Access for pages_messaging and submit App Review with a working test Page, step-by-step reviewer instructions and a screencast of the bot conversation.
  3. 3Until approval lands, add stakeholders who need to test as testers on the app; they are exempt from the restriction.
  4. 4After approval, flip the app to Live and re-test with an account that has no role on the app.
  5. 5If sends still fail for everyone including admins, the token is missing the scope; follow the code 230 page.

How to stop it recurring

Put App Review on the launch checklist as a dependency with lead time, not a formality: prepare the reviewer walkthrough while the bot is being built, and verify Advanced Access before announcing the Messenger channel. After any app migration, re-confirm review status before cutover. A synthetic end-to-end test from an account with no app role is the only monitoring that catches this class of failure, because every internal account is exempt from it.

Official reference: Meta for Developers - Messenger Platform error codes. See all Messenger error codes or the Messenger limits and quotas.

Related codes

Error 200 - quick answers

What does Messenger error 200 mean?

Code 200 is the App Review wall, and its message is unusually explicit: "Cannot message users who are not admins, developers or testers of the app until pages_messaging permission is reviewed and the app is live." Meta's error-handling guide files the whole 200-299 block under permission errors, and this is the member every Messenger developer meets on the way to production.

How do I fix Messenger error 200?

1. In the App Dashboard, check both switches: App Mode (Development vs Live) and the Access level shown next to pages_messaging under Permissions & Features. 2. Request Advanced Access for pages_messaging and submit App Review with a working test Page, step-by-step reviewer instructions and a screencast of the bot conversation. 3. Until approval lands, add stakeholders who need to test as testers on the app; they are exempt from the restriction. 4. After approval, flip the…

Stop debugging Messenger by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.