Input & Output
Output ports and response data schemas for all Instagram node operations across 7 resources.
Output Ports
| Port | Operations | Description |
|---|---|---|
| success | All 18 operations | The Meta Graph API accepted the request and the operation completed. Output schema varies by operation — see sections below. |
| error | All 18 operations | API returned an error, token was invalid or expired, or a required permission was missing. Includes errorCode and errorMessage. |
Media Object — Publish Operations
All media publish operations (imagePublish, reelsPublish, storiesPublish, carouselPublish) return the following fields on success:
| Field | Type | Description |
|---|---|---|
id | string | The Instagram media ID for the newly created post. |
timestamp | string (ISO 8601) | When the post was published. |
media_type | string | One of: IMAGE, VIDEO, CAROUSEL_ALBUM. |
media_url | string | CDN URL of the published media. May expire — use permalink for permanent links. |
permalink | string | Permanent URL to the post on Instagram. |
caption | string | The caption that was applied to the post. |
{
"id": "17854360229135492",
"timestamp": "2026-05-23T14:30:00+0000",
"media_type": "IMAGE",
"media_url": "https://scontent.cdninstagram.com/...",
"permalink": "https://www.instagram.com/p/CxYzAbc123/",
"caption": "Introducing our new product line! #launch #bizfirstai"
}
comments / list — Success Output
| Field | Type | Description |
|---|---|---|
data | array | Array of comment objects. Each object contains id, text, timestamp, username, and from (user info object with id and name). |
paging | object | Pagination cursors: cursors.before, cursors.after, and optional next URL. |
{
"data": [
{
"id": "17858893269135492",
"text": "Love this product!",
"timestamp": "2026-05-23T15:00:00+0000",
"username": "jane_doe",
"from": { "id": "17841400020922334", "name": "Jane Doe" }
}
],
"paging": {
"cursors": { "before": "cursor_before_string", "after": "cursor_after_string" }
}
}
user / get — Success Output
| Field | Type | Description |
|---|---|---|
id | string | Instagram user ID. |
username | string | The user's Instagram @username. |
name | string | Display name shown on the profile. |
biography | string | Profile bio text. |
followers_count | integer | Number of followers. |
follows_count | integer | Number of accounts the user follows. |
media_count | integer | Total number of posts. |
profile_picture_url | string | URL of the profile picture. |
website | string | Website URL from the profile bio link. |
account_type | string | One of: BUSINESS, CREATOR, PERSONAL. |
auth / me — Success Output
Returns id (Instagram account ID), username, account_type (BUSINESS or CREATOR). Use this to confirm a token is valid before storing it.
auth / tokenExchange and tokenRefresh — Success Output
Both return access_token (string), token_type (always "bearer"), and expires_in (integer, seconds until expiry — 3600 for short-lived, ~5184000 for long-lived).
hashtag / search — Success Output
Returns data (array with one object containing id — the hashtagId to use in hashtag/media).
hashtag / media — Success Output
Returns data (array of media objects — each with id, media_type, permalink, timestamp, caption) and paging cursors.
user / media — Success Output
Returns data (array of media objects: id, media_type, media_url, permalink, timestamp, caption), paging (with cursors.after for next page).
page / account — Success Output
Returns id (Facebook Page ID), name (Page name), category (page category), instagram_business_account (object with id — the Instagram Business Account ID).
comments / hide, delete, privateReply, toggle — Success Output
These operations return a confirmation: success (boolean true), commentId or mediaId (the entity that was acted upon), status ("success"), errorCode (empty string).
messaging / send — Success Output
Returns recipient_id (the IGSID the message was sent to), message_id (unique message ID from the API), status ("success").
Error Port Output
| Field | Type | Description |
|---|---|---|
status | string | Always "error". |
errorCode | integer | Meta Graph API error code (e.g. 190 for invalid/expired token, 10 for permission denied, 100 for invalid parameter). |
errorMessage | string | Human-readable error description from Meta. |
errorType | string | Error type category, e.g. OAuthException, GraphMethodException. |
{
"status": "error",
"errorCode": 190,
"errorType": "OAuthException",
"errorMessage": "Error validating access token: The session has been invalidated because the user changed their password or Facebook has changed the session for security reasons."
}