Breaking change in the /deals/{id}/activities endpoint

endpoint
#1

Last week, I noticed that a change has been made in the /deals/{id}/activities endpoint.
The user_id field previously contained a int/long and it’s now containing an object of that type:

"user_id": {
    "id": 123,
    "name": "test",
    "email": "test@example.com",
    "has_pic": false,
    "pic_hash": null,
    "active_flag": true,
    "value": 123
}

I have created a strongly typed client for Pipedrive so it broke everything on my side.

So please, don’t introduce any breaking change to the API.
An API should be immutable.
If you want to change the responses of an endpoint, do it on another version of the API.

#2

Hi David,
You’re absolutely right, and I apologize.

Our practice is to communicate all changes well in advance, especially if it’s one of the rare breaking change cases. We also keep track of all the changes to the public API on our changelog.

This was a mistake on our side. We’re looking into it and will most likely roll it back soon.

I’ll keep you updated.

#3

Hey @DavidRouyer,
We rolled back the response, so everything should be back to normal now.

#4

@dani Thanks for pinging me!

1 Like
#5

We were really lucky losers =)
Just creating new and failed due this. Spent more than one day to figure it out why import worked before eastern and coming back failed.
NoSQL database did not like the new fields under activities either. Deals part worked.
Now cleaning extra docs from NoSQL - yeah, love it.