Trello not returning inconsistent member data

When getting own member data from Trello on GET /1/members/me the response sometimes contains the full name, email, avatar and other personal data and sometimes it doesn’t.

The data privacy settings are NOT changed between Trello requests. I would say 3 times out of 10 the data comes back empty.

Just to confirm, you’re making this request with an API key and token?

Can you share your API key here? I’ll use it to look through the logs.

I’m using the same api key and two different user tokens, it behaves the same on both tokens. My API key is: a22b5eb2fa559168a77cd2cfce035837

Over the past three-ish days, I’m seeing that API used to call two routes with /1/members in it:

/1/members/535e643898e655653d387c2f?board_fields=id%2CidOrganization%2Cname%2Cclosed%2Curl%2Cprefs&boards=all&fields=id&key=a22b5eb2fa559168a77cd2cfce035837&organization_fields=id%2Cname%2CdisplayName%2Curl%2ClogoUrl&organizations=all&token=[token]

and

/1/members/me?key=a22b5eb2fa559168a77cd2cfce035837&token=[token]

On the first one, I’d expect it never to have any fields but the id because the query includes: fields=id.

On the second one, can you reproduce it when you explicitly ask for the fields by name - ?fields=fullName,email,avatarUrl?

Can you be more specific about which fields are missing that you expect to be present?

So this is a test account, the data missing (sometimes) are on GET /1/members/me

The missing data are: email, name, username, avatar.

I was thinking I hit the rate limit on personal data ( 100 requests per 900 seconds), because I was testing it a lot, but I wasn’t getting rate limit error responses.

Can you please confirm this is a bug, rate limit or maybe I’m doing something wrong on my side?

Looking at only requests to GET /1/members/me for the API key a22b5eb2fa559168a77cd2cfce035837, I see only 3 requests on April 4.

All three are 200 responses and have a response size of 5354. This leads me to believe that they are all the exact same response.

Doing a test with my own key/token and asking for fields=all and fields=id, I get two separate response sizes 33749 and 33. Which makes sense because more data is coming when asking for all of the fields.

As far as I can tell, it sounds like something is misconfigured on your based. Based on your previous messages, I’d expected to see more requests. Are you sure you’re using the same API key and token across your testing?

As a more concrete example, I have another key used for our staging environment 9865af2c95d35f59f1e1e015bd7dfaf0

I have only two Trello users authorising this key, tokens starting with: d35a and 931b

Token d35a created on 2020-04-05 13:33:43+00 have received all values from GET /1/members/me, so username, name, email avatar are all correct.

Token 931b created on 2020-04-05 13:35:13+00 have none of the fields mentioned above.

On my end the same exact API codebase was used which saves this data in DB, therefore eliminating the bug on my end.

Here are the logs I see for those tokens with the key 9865af2c95d35f59f1e1e015bd7dfaf0 to the route at
/1/members/me:

Datetime Token Query
4/5/20 9:35:12.972 AM 931b board_fields=id%2CidOrganization%2Cname%2Cclosed%2Curl%2Cprefs&boards=all&fields=id&organization_fields=id%2Cname%2CdisplayName%2Curl%2ClogoUrl&organizations=all
4/2/20 3:44:43.777 PM 931b board_fields=id%2CidOrganization%2Cname%2Cclosed%2Curl%2Cprefs&boards=all&fields=id&organization_fields=id%2Cname%2CdisplayName%2Curl%2ClogoUrl&organizations=all
4/5/20 9:33:43.420 AM d35a
4/2/20 2:40:01.046 PM d35a board_fields=id%2CidOrganization%2Cname%2Cclosed%2Curl%2Cprefs&boards=all&fields=id&organization_fields=id%2Cname%2CdisplayName%2Curl%2ClogoUrl&organizations=all

Which lines up with what you are experiencing. 931b always has fields=id in the query params.

So what does this mean?

I see the same url being requested on both tokens, but one gets the data and the other doesn’t.

Also this can’t be right, because I’m not sending any extra query strings on GET /1/members/me the only two query strings are key and token that are being sent.

:sweat_smile: This is what our logs show. Can you share the code you have that is generating these requests?

I see requests for member /1/member/{id}/ going out ~1 second after each call to 1/member/me with the same long list of query parameters.

I’ll double check my code and let you know :slight_smile: