Signing in and publishing are separate permissions
Meta's content publishing guide is written for Instagram professional accounts and describes three ways an app can reach them. Each one uses a different token and a different pair of permissions, and in every case reading the account and publishing to it are granted separately. A tool can show your username and profile picture with only the basic permission, so a connected account with the right name and avatar says nothing about whether the publish permission was granted.
When an app uses Instagram Login, Meta's token response includes a permissions field listing what the user actually granted. That list, not the presence of the account in the tool, is the evidence that publishing is allowed.
| Login path | Token Meta describes | Permissions the content publishing guide lists |
|---|---|---|
| Instagram Login (Business Login for Instagram) | Instagram User access token on graph.instagram.com | instagram_business_basic and instagram_business_content_publish |
| Facebook Login for Business | Facebook Page access token on graph.facebook.com | instagram_basic, instagram_content_publish and pages_read_engagement, plus ads_management and ads_read when the user has a Business Manager role on the Page |
| Unified Login | Business Integration System User access token on graph.facebook.com | instagram_basic and instagram_content_publish |
Check the layers in order
Work from the account outward. Each step either clears a layer or tells you exactly what to fix, and none of them requires uploading the media again.
- Open the account in the Instagram app and confirm it is a professional account (Business or Creator). Meta's publishing guide covers professional accounts only.
- Find out which login path your tool uses. A sign-in on instagram.com is Instagram Login; a Facebook dialog is Facebook Login. The permissions you need depend on that answer.
- Confirm the publish permission was granted. If you are unsure, disconnect the account in the tool, connect it again, and approve every permission on Meta's screen.
- Check the token's age. Instagram Login's long-lived token lasts 60 days and can only be refreshed while it is still valid; one that was not refreshed in time cannot be revived, so reconnect.
- If the account is linked to a Facebook Page, complete Page Publishing Authorization if the Page asks for it.
You do not always need a Facebook Page
Older advice says every Instagram account must be linked to a Facebook Page before any tool can publish to it. Meta's current guide only uses a Page token and Page permissions on the Facebook Login path. Instagram Login uses an Instagram User token, and its documentation does not require a Page. If your tool uses Instagram Login, linking a Page will not fix a missing publish permission or an expired token.
A Page can still matter. Meta's guide says a professional account connected to a Page that requires Page Publishing Authorization cannot be published to until that authorization is complete. Apps cannot tell whether a Page requires it, so Meta recommends that users complete it ahead of time. If your account is linked to a Page and every other layer checks out, this is the next thing to look at.
Illustrative example: connected in August, failing in October
This example is illustrative, not a customer case. A creator connects a Creator account through Instagram Login in August and posts without trouble. In October their scheduled posts start failing, yet the account still appears in the tool with the right username and picture. The username and picture are stored, so they keep showing; the token behind them is what changed. If the long-lived token was not refreshed while it was still valid, it expired after 60 days and can no longer be refreshed.
Linking a Facebook Page, switching account types or re-uploading the media would not help here. Reconnecting the account issues a new token, and the next scheduled post goes out. Read the error on the failed post first: a token or permission error points to the connection, while a media or container error points to the file.
How this works in Ferryman
Ferryman connects Instagram professional accounts through Instagram Login: you sign in on instagram.com, and Ferryman requests instagram_business_basic to read the profile and instagram_business_content_publish to publish. That path does not need a Facebook Page. After you approve, Ferryman exchanges the sign-in for a 60-day long-lived token, and a scheduled maintenance job refreshes Instagram tokens so a connection does not lapse while it is in use. If you cancel on Instagram's screen, no connection is created.
If posts to Instagram fail while the account still shows as connected, disconnect and reconnect it in Ferryman and approve both permissions, then check the post's Instagram result. Each destination's outcome is reported on its own, so the other platforms in the same post are not affected; if the error mentions media processing instead, the container guide covers what to do.
Sources & further reading
Written by Ferryman. Sources checked Oct 26, 2026. Platform rules can change; consult the linked documentation for current requirements.