OAuth flow fails when including crm.lists.read scope - HTTP 500 on list reads

Hi everyone,

We’re building a HubSpot integration and have hit a wall with OAuth scope configuration that we haven’t been able to resolve after extensive troubleshooting.

The issue:
We need to read from HubSpot segments/lists as part of our integration. When we add crm.lists.read to our AUTHORIZE_URL scopes, the OAuth authorization flow fails entirely — users cannot complete sign-in.

If we remove crm.lists.read from the scopes, OAuth works fine and users can authenticate successfully. However, any API call to read from lists then returns:

Hubspot::Crm::Lists::ApiError HTTP status code: 500

This tells us the scope is required, but including it in the authorization URL breaks the flow.

What we’ve tried:

Nothing has resolved it.

Questions:

  1. Is there anything special about requesting crm.lists.read during the OAuth flow compared to other scopes?
  2. Are there prerequisites or additional permissions that need to be configured in the app settings before this scope can be included?
  3. Is a 500 from the Lists API always indicative of a missing scope, or could it be something else?

Any help or direction would be hugely appreciated. Happy to share more details if needed.

Hey @ELaunchNotes,
Thanks for posting in the Community!
I’d like to tag in a few experts to see what insight they might have here. @Teun, @ChrisoKlepke, and @HubSpot_Corey - any context to add?
Shane, Senior Community Moderator

Hey @STierney, any update on this? Thanks again for taking a look.

Hey @ELaunchNotes,
It doesn’t look like these experts have provided any input, so I’m happy to tag in a few others. Let’s try to get some more eyes on this!
@miljkovicmisa, @louischausse, and @Anton - are any of you able to provide some support here?
Shane, Senior Community Moderator