Overview
Connect Instagram, scopes, capabilities, and known limits.
Onepostly maps the Instagram API with Instagram Login (Business Login) into the same /v1/* surface as other platforms. This section covers Instagram-only behavior.
No Facebook Page required. Connect is Instagram-only OAuth — customers do not need to link a Facebook Page to their Instagram professional account. Meta only exposes remote media delete and likes on the separate Facebook Login path (which requires a linked Page); Onepostly stays on Instagram Login so those actions remain unsupported.
In this section
| Page | Topics |
|---|---|
| Posts | Publish image, multi-image, video/Reels, Stories; schedule |
| Comments | List, create, delete comments |
| Insights | Analytics / normalized metrics |
Cross-platform API flow: Media, Webhooks.
Connect
- Dashboard → Connections → connect Instagram
- Approve scopes in the Instagram Business Login consent screen
- Resolve
connectionIdwith your API key:
curl https://api.onepostly.com/v1/connections \
-H "x-api-key: op_YOUR_KEY"Use the matching row’s id (where platform is "instagram") as connectionId in publish requests.
After scope upgrades (publish, comments, insights), reconnect Instagram so the new scopes appear on the token.
OAuth scopes
| Scope | Used for |
|---|---|
instagram_business_basic | Profile / account identity |
instagram_business_content_publish | Publish media |
instagram_business_manage_comments | List / create / delete comments |
instagram_business_manage_insights | Media insights / analytics |
Instagram Business Login (not Facebook Login).
Tokens
- Connected accounts use a long-lived user token (~60 days)
- Invalid / expired token →
TOKEN_INVALID→ reconnect
Auth errors
| Code | Meaning |
|---|---|
TOKEN_INVALID / 401 | Expired or invalid token → reconnect |
PERMISSION_DENIED / 403 | Missing scope → reconnect with the required scopes |
Capabilities
| Action | Supported | Notes |
|---|---|---|
| Create post | Yes | POST /v1/posts — media required |
| Image | Yes | Single image URL + optional caption |
| Multi-image | Yes | 2–10 image/video URLs |
| Video (Reels) | Yes | mediaKind: "video" → Instagram Reels |
| Stories | Yes | Image or video; ephemeral |
| Text-only | No | Instagram requires at least one media URL |
| Thread / quote | No | X / Threads features |
| Schedule | Yes | scheduledFor + timezone |
| Remote media delete | No | Not available with Instagram Login |
| Insights | Yes | |
| List comments | Yes | Feed / Reels / multi-image; Stories unsupported |
| Create / delete comment | Yes | instagram_business_manage_comments |
| Like / unlike | No | Not available with Instagram Login |
| Bookmark / retweet / quote | No | Not Instagram features |
Known limitations
- Media URLs must be public HTTPS
- Standalone feed video is not supported; use
mediaKind: "video"(publishes as Reels) - Stories have no durable comments
- Insights metrics differ by product type
- Remote media delete and likes are not available on Instagram Login; API returns
MEDIA_DELETE_UNSUPPORTED/ engagement unsupported for those calls