Facebook OAuth Needs Reconnection Issue?

Status: Open Β· Asked by EMRECAN OZKAN on Β· 0 views

EMRECAN OZKAN β€” Question Β·
We use the Platform API (connect.pabbly.com/backend/platform/v1) with a pk_live_ key. Connections for the "Instagram for Business" app complete OAuth and reach status active, but POST /connections/{id}/token always returns {"code":"needs_reconnection"}, "The access token has expired and cannot be refreshed" β€” even seconds after authorization. Reproduced on two fresh grants. Token vend for a Google Business Profile connection on the same key works. Facebook OAuth issues no refresh token β€” please check whether your vend path handles the long-lived-token exchange for Facebook-platform apps.
Pabbly Support β€” Reply Β·

Hello,

Could you please share the Workflow URL where you have this concern?

Thanks & Regards,
Arshil Ahmad
🌐 Pabbly.com
Pabbly Support β€” Reply Β·

Hello there,

I hope you’re doing well. I just wanted to follow up regarding our last message.



On Aug 22, 2026, 10:23 PM, Arshil Ahmad <support@pabbly.com> wrote:

Hello,

Could you please share the Workflow URL where you have this concern?

Thanks & Regards,
Arshil Ahmad
🌐 Pabbly.com

Thanks & Regards,

Adeel Akhtar
🌐 Pabbly.com

EMRECAN OZKAN β€” Reply Β·

Hello Arshil,

There is no Workflow URL β€” this issue is not in a workflow. We use the Pabbly Connect Platform API (https://connect.pabbly.com/backend/platform/v1) to create connections and vend access tokens. The problem is in the token endpoint for Facebook-platform connections.

THE PROBLEM:

For an "Instagram for Business" connection (app id IjU3NjIwNTY4MDYzNyI_3D_pc), the OAuth flow completes and the connection status reads "active". But POST /connections/{id}/token always returns:

HTTP 401

{"status":"error","message":"The access token has expired and cannot be refreshed. Please reconnect.","data":{"code":"needs_reconnection"}}

This happens immediately after a fresh authorization (within 1 minute), and on every retry. We have re-authorized from scratch three separate times, on two connections β€” same result every time. Reconnecting does not fix it.

DETAILS FOR YOUR TEAM:

- x-user-email: [email hidden]

- Connection id: IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzMTUxMzQi_pc (created 2026-08-22 18:43 UTC, status "active")

- Second reproduction: x-user-email [email hidden], connection id IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzNjUxMzAi_pc

CONTROL TEST THAT PROVES OUR KEY AND ACCOUNT ARE HEALTHY:

Under the same API key and same x-user-email, token vending works perfectly for Google-platform connections. A POST /connections/{id}/token on our Google Business Profile connection (IjU3NjUwNTY0MDYzMTA0MzU1MjY4NTUzMTUxMzIi_pc) returns HTTP 200 with a fresh token (expires_in: 3598), tested again today. YouTube and Gmail connections vend correctly too. Only Facebook-platform apps fail.

OUR SUSPICION:

Facebook does not issue refresh tokens β€” it uses long-lived token exchange instead. Your token-refresh path appears to treat the missing refresh token as "expired and cannot be refreshed", so every Facebook-based connection is unusable through the Platform API from the moment it is created.

Could you please route this to the team that owns the Platform API / connection token store?

Thank you,

Emrecan

Pabbly Support β€” Reply Β·

Hello Emrecan,

Could you please record a screen video of the whole process you are following and facing the issue, if you are not using the Pabbly Connect workflow, to help us understand the issue in a better way so that we can provide help accordingly.

Thanks & Regards,

Adeel Akhtar
🌐 Pabbly.com

EMRECAN OZKAN β€” Reply Β·

Hi,

Thank you for the reply. A screen recording would not show anything useful here,

because there is no screen involved. We do not use the Pabbly Connect workflow

builder at all. We use the Platform REST API

(https://connect.pabbly.com/backend/platform/v1) server-to-server. The whole

process is three API calls, so instead of a video, here are exact steps your

team can run to reproduce the issue in under two minutes, against a live

connection on our own account (the account this ticket is filed from).

THE ISSUE IN ONE LINE

The OAuth authorization for the "Instagram for Business" app completes and the

connection shows "active", but POST /connections/{id}/token ALWAYS returns

HTTP 401 {"code":"needs_reconnection"} β€” even one minute after a fresh

authorization.

STEPS TO REPRODUCE

1. Create a connect link (this is how the connection below was made):

POST /connections/request-link

Headers: Authorization: Bearer <our platform key>

x-user-email: ouremail

Body: {"app_id": "IjU3NjIwNTY4MDYzNyI_3D_pc", "name": "test"}

β†’ returns connection_id + request_link.

2. Open request_link in a browser and complete the Facebook Login dialog

(facebook.com/v14.0/dialog/oauth). We completed this successfully.

3. Read the connection β€” Pabbly itself reports it healthy:

GET /connections/IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzMTUxMzQi_pc

x-user-email: ouremail

Actual response (2026-08-25 00:17 UTC):

{"status":"success","message":"Connection fetched successfully.","data":

{"id":"IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzMTUxMzQi_pc","name":"Marcus Miller β€”

Real Estate Agent β€” Instagram for Business","app_id":"IjU3NjIwNTY4MDYzNyI_3D_pc",

"status":"active","created_at":"2026-08-22T18:43:20.000Z"}}

4. Vend the token β€” this is the failing call:

POST /connections/IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzMTUxMzQi_pc/token

x-user-email: ouremail

Actual response (2026-08-25 00:17 UTC):

HTTP 401

{"status":"error","message":"The access token has expired and cannot be

refreshed. Please reconnect.","data":{"code":"needs_reconnection"}}

CONTROL TEST β€” PROOF OUR KEY AND CALLS ARE CORRECT

The same call on a Google-platform connection under the SAME account, SAME

platform key and SAME x-user-email works every time:

POST /connections/IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzMjUxMzUi_pc/token

(YouTube) β†’ HTTP 200, access_token returned, expires_in 3598.

Google Business Profile and Gmail connections vend fine as well. Only the

Facebook-platform app fails.

WE HAVE ALREADY RULED OUT A ONE-OFF

- Two separate clean authorizations on 2026-08-22 both failed the same way.

The second connection is IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzNjUxMzAi_pc

- We retried the vend at +1 minute, +10 minutes and +18 minutes after

authorizing β€” identical 401 every time. A short-lived Facebook token lives

~1-2 hours, so at +1 minute "expired" cannot be literally true.

LIKELY ROOT CAUSE FOR YOUR ENGINEERS

Facebook Login does not issue a refresh token. Long-lived Facebook tokens come

from the token-exchange endpoint (fb_exchange_token) instead. It looks like

your token vend path treats the missing refresh token as "expired and cannot

be refreshed", which would make every Facebook-platform connection fail

immediately after authorization β€” exactly what we observe.

Please have your engineering team run step 4 on connection

IjU3NjUwNTY0MDYzMTA0Mzc1MjY1NTUzMTUxMzQi_pc and check the server-side logs for that call.

The connection is live on our account right now and we will keep it in place

for your testing.

Happy to run any further API call you need and paste the raw response here.

Best regards,

Emrecan

Back to all forum threads Β· Log in to reply