Schema for "List updates about a deal"

Hello, what is the full schema for the output of the List updates about a deal (https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_flow)?

I am building a Microsoft Flow that monitors deal changes and need to know the exact schema.

Hi @dachent, if you goal is to get all deal updates, maybe it is better for you to use our webhooks? You can read about them here: https://pipedrive.readme.io/docs. It is the best way to get all changes that happen in a deal.

@diego.mendez, thanks! We have that setup. This happens to be a very unstable implementation in Microsoft Flow because there is no systematic way to rerun failed flows. Moreover, the data structure of the above works much better for us.

Ok, could you tell me exactly what you mean by full schema? Or maybe tell me what information you need exactly that you re not getting by trying this method in the API reference page.

This method will return most of the changes that can happen to a deal, in relation to what you see in the web application, it would be what you see in the deal details page in the “All” tab. If you want to get the ‘Changelog’ tab you can use the following: https://YORDOMAIN.pipedrive.com/api/v1/deals/DEAL_ID/flow?api_token=YOURTOKENHERE&strict_mode=true&items=change%2Cparticipant%2Cfollower%2Cactivity%2Cdeal&all_changes=1&start=0&limit=50.

Hope this helps!

@diego.mendez, thanks!

I have a code (or more accurately MS Flow) that loops through https://api.YOURDOMAIN.com/v1/deals/DEAL_ID/flow?start=0&api_token=YOURTOKENHERE for all the deals in the pipeline. For each batch the JSON output is converted to a table and the rows are recorded in an Excel file.

The code works fine but I am running into issues with the JSON schema that I infer for the output for each deal. Hence, I am looking for the actual schema for parsing the JSON output, instead of having to guess.

In other words – what is the JSON schema for parsing the output of the URL that you sent?

@diego.mendez, I am looking for the schema to populate for the box outlined in red.

Hey @dachent I’m afraid we cannot help you with this specific request, the schema needs to be created manually from the body of the responses you get from https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_flow or maybe you can use the option there that says “Use sample payload to generate schema”. This service may also help: https://jsonschema.net/

The reason for this is that the response schema can be different for different users and companies depending on which features are enabled, the type of custom fields that are involved (different type of fields have different structure in the response), etc. Therefore your schema is kind of unique, so we cannot provide it to you.

@diego.mendez, I used all of these tools and others to build the schema and none of them work.

https://jsonschema.net/ - produces an error when I paste in the pipedrive output.

“Use sample payload to generate schema” - produces a bunch of duplicate names

I have used other tools and they each fail in different ways.

The schema cannot possibly be unique for each user - the overall schema has to be exactly the same. I understand that most of the fields will be optional but that is okay, that is exactly what I need - I need all the objects and their fields, optional and not, and with that the code will know exactly what it is getting and how to use the data.

Custom fields get dynamically generated key names.

From what I understand there’s no way to know the key names in advance or how many custom fields will be sent back.

1 Like

Hey @dachent I’m afraid that’s the way it is, your schema is quite unique so you will have to build it yourself, otherwise we would gladly give it to you. You can see that different types of custom fields have different types of data structures, so changes made to custom fields under your deals would have this endpoint have a particular schema.

We can certainly help you build it, we will help if possible if you have any specific difficulties just let us know.

1 Like

Could you send me the schema for the standard fields only? It is a lot easier to add custom fields than build the schema from scratch.