cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
smerchant
Helper I
Helper I

JSON ValidationFailed

I have a HTTP call to a REST API.  The endpoint has a limit parameter e.g.

https://server.com/v2/object?limit=250&offset=0&group=330000

 

When I set limit to 250 it run the flow perfectly without any error and create sharepoint list items as required.  However, when I increase the limit to 300 (there are 259 objects in this requests) I get this error.  If JSON Schema is not correct I thought I should get the same error with the limit of 250??  The same request works fine on the Postman and return all the objects i.e. in this case 259.

 

[ { "message": "Invalid type. Expected String but got Null." } ]

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi Sameer,

 

You can look in the failed flow run (expand on the HTTP action card) and see the exact output from your service. Do you see anything missing in there?

 

View solution in original post

12 REPLIES 12
RajRa
Power Automate
Power Automate

Hi Sameer,

 

 

where are you seeing this error? Are you onboaring a new Custom connector and testing?

 

There's a 250 limit with paging links so at flow execution time, it should work properly.

 

thanks

 

I am getting this error when parsing the json object/response recieved from HTTP.  I have provided some screenshot to your team through twitter DM.  Are you saying that there is a limit for 250 elements?

 

Thanks

 

 

 

 

 

 

 

 

I looked at a flow run for the failed case and the service is not returing a JSON object - Can you check? In the headers the content-type is text/html.

 

Also - the body object is not a well formed JSON object - I see the same errors parsing hte object with JSON editors " Expecting 'STring', got 'undefined.

@RajRa  Thanks.  This can't be correct as I have the same flow running with a limit of 250.  If header of json format is not correct I should get the same error with 250 elements.  Here is the screenshot for flow running successfully with 250 limit.

 

Screenshot_1.png

Hi Sameer,

 

You can look in the failed flow run (expand on the HTTP action card) and see the exact output from your service. Do you see anything missing in there?

 

View solution in original post

@RajRa  I think I am not explaining it correctly.  Let me try again:

 

  • If you see the screenshot above the flow is working fine.  The endpoint used is for example https://myapi.com/v2/api/server?limit=250.  The HTTP request returns 250 data elements which I parse through JSON Parse and create items on the SharePoint list.  No issues here.

 

  • If I change the end point to https://myapi.com/v2/api/server?limit=300.  I get the json validation error (provided above and also through twitter dm). There is no issue with the endpoint as I have tested this with Postman and other api explorer and it is working fine as expected. 

 

  • f there is a problem with my json payload, header or structure (as suggested) provided in my flow, I should get the same error when I am asking 250 items? correct?

 

Can you please confirm that there is no limit on number of items returned through HTTP or is this a bug? You can check the flow I last ran and you will see it worked fine with 250 items.

 

Thanks, Sohail

 

Sohail,

 

I understand what you are saying - It makes sense that you should not see a difference between 250 vs 300 items.

 

I looked at the output for your flow and I saw the response for the failing case was set to content-type text/html not JSON - Did you confirm?

 

All this information is available for you in the run history for your flow - you can see the inputs and outputs to each step. Can you confirm that the output that the service returned is JSON and valid? If you see the optput for the failure case you'll see all the entries in there, I can private IM you the details since this is PII if you want.

 

There are no 250 limits on our side.

 

thanks

 

RajRa
Power Automate
Power Automate

Hi,

 

I need more information on this. I debugged a success vs non-success case and I don't see any difference in the ouptuts from your service. Can you please IM me the following

 

1. A failing run (go to the flow run and paste the URL from the failed run - the picture you posted)

2. A successful flow run 

3. The error you are seeing.

 

thanks

 

ltabosa
Regular Visitor

You can modify your JSON from {"Name":"String"} to {"Name":["String","Null"]} so he can accept Null values too.

thuff
Helper I
Helper I

Wanted to thank you for this solution. very very very helpful. 

 

Also as an FYI, i had to make sure {"Name":"String"} to {"Name":["String","Null"]}  was {"Name":"String"} to {"Name":["String","null"]}

 

kateliuyi
New Member

Hello, you need to confirm whether your JSON has grammatical errors first? Please follow the https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON  specification carefully, if you are not sure, you can use JSON Validator  to check

Helpful resources

Announcements
MPA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

V3_PVA CAmpaign Carousel.png

Community Challenge - Giveaways!

Participate in the Power Virtual Agents Community Challenge

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Top Solution Authors
Users online (1,814)