plaid / quickstart

Get up and running with Plaid Link and the API in minutes
https://plaid.com/docs/quickstart
MIT License
587 stars 630 forks source link

HTTP 403 when searching for institutions #5

Closed jessedhillon closed 7 years ago

jessedhillon commented 7 years ago

When I try to search for my bank (Capital One 360) using the institution selector, a spinner briefly appears after I type a few letters, and then I get the following message: Your search request timed-out, please try again with a better connection

Looking in the inspector, I see that a GET request to https://cdn.plaid.com/institutions/all/search?q=cap returns an HTTP 403 status. Opening that URL in a new tab gives the familiar AWS access denied error page.

The steps to getting this running seem pretty straightforward, so I don't see much room for user error here.

michaelckelly commented 7 years ago

@jessedhillon - cdn.plaid.com isn't an API environment, so you can't search Institutions there!

Try:

curl -X POST https://sandbox.plaid.com/institutions/search \
 -H 'content-type: application/json' \
 -d '{
   "query": "BB&T",
   "products": ["auth", "identity"],
   "public_key": String
 }'

https://plaid.com/docs/api/#institution-search

jessedhillon commented 7 years ago

Thanks @michaelckelly

I am running the server with PLAID_ENV=sandbox in the environment, so I'm not sure why it's generating the cdn URL. At any rate, I tried the Python quickstart after I ran into this and that worked out of the box. However, I then tried accounts at three different banks (BofA, Capital One, Golden One Credit Union) and got an invalid credentials message each time 😞

Edit: I scrolled down to the bottom and saw the note about the sandbox environment

michaelckelly commented 7 years ago

@jessedhillon - Still having trouble here? If so, please reopen and we will get to the bottom of this!

justanr commented 6 years ago

I also seem to be getting directed to cdn.plaid.com when using the Python quickstart. The Flask dev server isn't being hit at all, so my suspicion is the javascript library loaded into the template is the one making the call (there are references to cdn.plaid.com all over it). Do I need to wait for my API keys to propagate or is this a different issue?

kencheeto commented 6 years ago

Same also happens with the Ruby quickstart (403s to cdn.plaid.com) out of the box. thanks!

michaelckelly commented 6 years ago

@justanr @kencheeto - Can you please share you Link initialization snippets, excluding your public_key. That will help us get to the bottom of this.

kencheeto commented 6 years ago

I see what was going on - I was using keys from https://dashboard.plaid.com/account/keys, not https://dashboard.plaid.com/overview/development. Using the latter works as expected, thanks!

jessedhillon commented 6 years ago

Hey @kencheeto, this issue has historically converted 100% of thread participants into Plaid employees. Let's keep the streak alive!😄

Send me an email if you're interested, jesse@plaid.com

kiku511 commented 6 years ago

Hi @jessedhillon, I am using my keys for the sandbox and I am getting the same error (403 to cdn.plaid.com). It works perfectly well with the node code in quickstart but not with python.

danielkwon7 commented 6 years ago

Hi guys,, I'm using the keys from dashboard.plaid.com/overview/development but my Quickstart is throwing the cdn error as well when typing for institution names. I am using NodeJS. Any further developments on this issue ?

danielkwon7 commented 6 years ago

I think I figured out what my issues was. For me, I didn't replace the <% PUBLIC_KEY %> or similar portions at index.ejs. Also as @kencheeto mentioned, make sure to use the keys from the overview/development.

danielkwon7 commented 6 years ago

@jessedhillon May I continue the streak ? O. o

tbutler4 commented 5 years ago

@michaelckelly is there an updated format to your previous curl example or will that still give the same results?

"display_message": null, "error_code": "INVALID_BODY", "error_message": "body could not be parsed as JSON", "error_type": "INVALID_REQUEST", "request_id": "Li8DQOrMFpChc33"

afh commented 5 years ago

Hello @tbutler4,

thank you for using Plaid and for reaching out.

Looking at our logs I see that the request you sent contained invalid JSON. I assume that there may be an issue with the JSON syntax or shell quoting in the curl command that you used. For what it's worth I was able to run @michaelckelly's curl command example successfully.

Happy to have a look at your curl command if you provide it verbatim here (with your "public_key": "[REDACTED]" of course! 🙂)

tbutler4 commented 5 years ago

@afh, I ended up figuring it ended up working, i don't know why my quatiations werent working around the public key but I ended up getting it, thank you!

afh commented 5 years ago

Thanks for your response @tbutler4 and I'm glad to hear that you got it working. Using curl on the shell to post JSON to a server can be quite the hassle at times. I've come to find that httpie is easier to work with.

jacksonwalters commented 9 months ago

I was using single/apostrophe quotes rather than double quotes. That fixed it.