Skip to main content
Find the status, code or message the Developer Area shows for your App Manifest, and the same row gives its cause and fix. The rules for each key are in the App Manifest reference. A failed check never changes the values in use. Your last good manifest keeps applying, and nothing switches back to your settings values. The one exception is too_many_destinations, where the check’s oauth changes are already applied. After every fix, deploy the file and click Check now on the Versions tab.

Statuses

The App manifest panel on the Versions tab shows one status. Out of sync doesn’t block submission. An app that has never been published and has an app domain can submit only while the status is Up to date or Out of sync.

Unreachable reasons

A non-2xx response, or a 304 to a request without If-None-Match, also shows Unreachable with the HTTP status.

Validation issues

Each issue shows:
  • a pointer to the failing value, as a JSON Pointer such as /oauth/redirectUris/0; an empty pointer means the whole file
  • a code
  • the value you sent
  • a sentence describing the problem
Checks run in two rounds. Issues that combine several fields (conflicting_surface_url, fan_experience_url_on_off_platform, surfaces_on_off_platform) appear only once every individual field is valid, so expect new issues after you fix the first set.

Serving problems

  • Redirects. Any 3xx other than 304 gives Rejected. Common causes: a hosting provider redirecting the apex domain to www, or /app-manifest.json to a trailing-slash path. Serve the file at the exact URL, or set your app domain to the host that serves it.
  • 404. Put the file where your framework serves static files at the site root, for example public/app-manifest.json in Next.js.
  • Wrong content type (status Invalid). Some hosts serve unknown files as text/plain or application/octet-stream. Set Content-Type: application/json for the path.
  • Bot protection or firewall. Allow GET /app-manifest.json for the Fanvue-App-Manifest/1 user agent.
  • Old file after deploying. Fanvue only reads the file when you save your domain or click Check now. If a CDN still serves the old copy, purge it, or return an ETag that changes with the content.
  • 304 without an ETag. Return 304 Not Modified only when the request has If-None-Match. A 304 to any other request gives Unreachable.
To check what Fanvue will see, request the file with its user agent.

App domain errors

These messages appear under the App domain field on the App details tab.

Removing the domain

Clearing the App domain field and confirming Remove domain stops every check, and the values the manifest set go back to your settings or your live app’s values. A fan experience URL stays until you remove it in Embed settings, and a draft that is with a reviewer isn’t changed. Removing the domain lists every change.

Submission blocked

Changes waiting for review

Once your app is live, changes to access or surfaces are staged onto your draft and wait for review. The Versions tab shows Out of sync with a Changed fields table (Published and Source columns), and the App details tab shows Live · manifest changed. To ship them, click Resubmit for review. To discard them, change the file back to the published values, deploy and click Check now. See Ship manifest changes to a live app. Scopes added after your app is published also wait for review, whether you add them in oauth.scopes or on the Authentication tab. The Authentication tab shows them as Pending review until the submission that requests them is approved. A webhook destination from your manifest that waits for a scope your app lacks also shows as Out of sync. Add the scope to oauth.scopes and click Check now.

Symptoms in your app

Other messages

See also