🔮 Bold Little Oracle ▸ docs/meta-api-fix-guide.md
updated 2026-04-04

Meta API Fix Guide: Instagram Content Publishing

App: Bold Little Oracle (App ID: 3852884318351764) Problem: Instagram Graph API login variation is grayed out in Facebook Login for Business configuration Last updated: April 2026


Root Cause

The app was likely created with the “Other” use case (or a non-Instagram use case) rather than the “Manage messaging & content on Instagram” use case. This matters because:

  1. Meta’s new app architecture ties use cases to available products, permissions, and login configurations
  2. When you create a Facebook Login for Business configuration, the available login variations (General, Conversions API, Instagram Graph API) depend on which use cases are attached to the app
  3. The “Instagram Graph API” variation is grayed out because the app does not have the Instagram use case added, so the Instagram-related products and permissions are not wired into the app

This is not a bug. It is Meta’s use-case-gated architecture working as designed. Incompatible variations are grayed out when the required use case is missing.


Two Fix Paths

Path A: Add the Instagram Use Case to the Existing App (Try This First)

  1. Go to developers.facebook.com and open the Bold Little Oracle app
  2. In the left sidebar, click App Dashboard (the main overview page)
  3. Look for an “Add Use Case” or “Add a use case” button (it may be at the bottom of your listed use cases, or under a “Use Cases” section)
  4. Select “Manage messaging & content on Instagram”
  5. This will automatically add: - The Instagram product to your app - The Instagram Graph API permissions (instagram_basic, instagram_content_publish, etc.) - The ability to select “Instagram Graph API” as a login variation in Facebook Login for Business configurations

Important: Use cases cannot be removed once added. They can only be added. If “Manage messaging & content on Instagram” is grayed out as incompatible with your existing use cases, you need Path B.

After adding the use case:

  1. Go to Facebook Login for Business > Configurations in the left sidebar
  2. Click + Create configuration
  3. The “Instagram Graph API” login variation should now be selectable
  4. Select it, choose User access token, and save

Path B: Create a New App with the Correct Use Case

If the Instagram use case cannot be added to the existing app (incompatible with current use cases, or the option is not available), create a fresh app:

  1. Go to developers.facebook.com/apps/create/
  2. Select use case: “Manage messaging & content on Instagram” - Do NOT select “Other” – that is the generic fallback and does not wire up Instagram products
  3. App type: Business
  4. Name: Bold Little Oracle (or “Bold Little Oracle v2” to avoid confusion)
  5. Connect it to your Business Portfolio (Meta Business account)
  6. Click Create App

The app will be created with these products pre-configured: - Instagram (with API setup options) - Facebook Login for Business - Webhooks

And these permissions automatically available: - instagram_basic - instagram_content_publish - instagram_manage_comments - instagram_manage_insights - pages_show_list - pages_read_engagement

Then:

  1. Go to Facebook Login for Business > Configurations
  2. Click + Create configuration
  3. Select the “Instagram Graph API” login variation – it should now be available
  4. Choose User access token type
  5. Save the configuration

Path C: Skip Facebook Login for Business Entirely (Fastest for Personal Use)

If you are the only user of this app (publishing to your own @boldlittleoracle account), you do NOT need Facebook Login for Business configurations at all. You can use the Graph API Explorer directly with the traditional permission model.

The key insight: Facebook Login for Business and its “configurations” are designed for apps where other people log in to grant your app access to their business assets. For your own account, you just need a token with the right permissions.

Steps:

  1. Make sure the app has the Instagram use case / product added (per Path A or B above)
  2. Go to Graph API Explorer
  3. Set domain to graph.facebook.com (not graph.instagram.com)
  4. Select Bold Little Oracle from the Meta App dropdown
  5. Add permissions: - instagram_basic - instagram_content_publish - pages_show_list - pages_read_engagement
  6. Click Generate Access Token
  7. Authorize and select your Facebook Page + Instagram account
  8. Exchange for a long-lived token, then a permanent Page token (see token exchange steps in instagram-api-setup.md)

This bypasses the entire Facebook Login for Business configuration UI.


Understanding the Two Permission Naming Schemes

Meta has two different sets of permission names depending on which login path you use:

Facebook Login Path Instagram Login Path
instagram_basic instagram_business_basic
instagram_content_publish instagram_business_content_publish
instagram_manage_comments instagram_business_manage_comments
instagram_manage_insights instagram_business_manage_insights
pages_show_list (not needed)
pages_read_engagement (not needed)
API: graph.facebook.com API: graph.instagram.com
Token: Page access token Token: Instagram User token
Token expiry: Never (Page token) Token expiry: 60 days (refreshable)

We use the Facebook Login path (left column) because it gives us permanent Page tokens.


App Review and Approval

For publishing to your own account only (Standard Access): - No App Review required - App admins, developers, and testers can use all permissions immediately - This is sufficient for Bold Little Oracle’s use case

For letting other users authorize the app (Advanced Access): - Submit for App Review - Meta reviews your app’s use of each permission - instagram_content_publish requires demonstrating a legitimate publishing use case - Review typically takes 1-5 business days


Page Publishing Authorization (PPA)

If your Facebook Page requires PPA, content publishing will fail with an error until PPA is completed. Check this:

  1. Go to your Facebook Page settings
  2. Look for any prompts about Page Publishing Authorization
  3. If required, complete the identity verification process

Most personal/small business Pages do NOT require PPA. It is typically triggered for Pages with large reach or those that run political/social issue ads.


Checklist: What to Verify in the App Dashboard

Before attempting to generate tokens or publish content, confirm all of these:


FAQ

Q: Can I switch from “Facebook Login for Business” to regular “Facebook Login”? A: No. Business-type apps only support Facebook Login for Business. Regular Facebook Login is for Consumer or None-type apps. However, this does not matter – Facebook Login for Business works fine for Instagram content publishing once the Instagram use case is properly added. The permission model still works the same way; “configurations” are just the new UI wrapper.

Q: Why does Meta’s “Create an Instagram App” guide say to select “Other” use case? A: That guide is specifically for the Instagram Login path (using graph.instagram.com with Instagram credentials). For the Facebook Login path (using graph.facebook.com with Page tokens), you should use the “Manage messaging & content on Instagram” use case, which wires up both the Instagram product and Facebook Login for Business together.

Q: Do I need to delete the old app? A: No. You can keep it. If you create a new app (Path B), just use the new App ID going forward. The old app will not affect anything.

Q: Can I use the Graph API Explorer with a Business-type app? A: Yes. The Graph API Explorer works with all app types. Select your app from the dropdown, add permissions, and generate a token. The Facebook Login for Business “configuration” system is a separate flow for production OAuth – it does not gate the Explorer.

Q: What if the “Instagram Graph API” variation is still grayed out after adding the use case? A: Try these in order: 1. Hard refresh the page (Cmd+Shift+R) 2. Clear browser cache and log in again 3. Check that Instagram product actually appears in your left sidebar under Products 4. If the product is not there, the use case did not attach properly – try removing and re-adding 5. As a last resort, create a new app (Path B)


Sources