Hello n8n community! ![]()
I’m experiencing an issue with Inoreader API OAuth2 integration that reveals a gap in n8n’s current OAuth2 handling.
Problem:
Inoreader API returns HTTP 403 (instead of the standard 401) when OAuth2 tokens expire. Currently, n8n’s generic oAuth2Api credential only triggers automatic token refresh on HTTP 401 errors, causing workflows to fail permanently when Inoreader tokens expire.
Error message:
403 - “AppId required! Contact app developer. See https://inoreader.dev”
Current behavior:
- n8n detects HTTP 401 → triggers automatic token refresh

- n8n receives HTTP 403 → treats as permanent error

Proposed solution:
Add tokenExpiredStatusCode: 403 support for the generic oAuth2Api credential type in GenericFunctions.js, similar to existing configurations for:
• goToWebinarOAuth2Api: { tokenExpiredStatusCode: 403 }
• microsoftAzureMonitorOAuth2Api: { tokenExpiredStatusCode: 403 }
Expected configuration:
oAuth2Api: {
tokenExpiredStatusCode: 403,
},
This would enable automatic token refresh for APIs like Inoreader that use HTTP 403 for expired tokens.
Workaround:
Workaround:
Currently using a scheduled workflow to manually refresh tokens every 12 hours.
Would this enhancement be possible? This would benefit any API that uses HTTP 403 for token expiration with generic OAuth2 credentials.
Best regards