Lifecycle Stage update doesn't work

The API somehow refuses (without telling) to change the lifecycle stage of a contact upwards (to a higher sorted one).

This means change works from Subscriber → Lead → Marketing qualified lead BUT not the other way around from Marketing qualified lead → Lead → Subscriber.

Hi @Micha

It’s a HubSpot “quirk”.

You can set the property to “” (an empty string) first, then set the property again, to go “backwards”.

In your example you could go from MQL > “” > Lead.

Yep, I agree.

Mike

Hey @Micha,

As mentioned by Connor here,

If you’re updating a contact’s lifecycle stage via this endpoint, you’ll need to clear the property first. This is only specific to lifecycle stage, as it’s inherently not supposed to be set backward.

Additionally, as referenced from the same endpoint documentation (in the yellow box:disappointed_face:

The Lifecycle stage is not designed to move backwards. If you need to set this property to a previous stage, you will first need to set the value to “” (an empty string) and then set the new Stage

Thankyou folks on this thread for outlining this feature - I just stumbled into it and very glad that you’ve written about it, (yeah this bug is still here in 2023). Genuine confusion because ‘going backwards’ is allowed using the UI … with no such warnings. We have the unfortunate situation to have relied on LifecycleStage for having about 20 different states, and … in the real world (the one most of us live in) … customers CAN in fact move back to ‘previous states’ at any time … hubspot seems to think there is only ONE flow.
So just putting some more text here so that Google can have some more keywords to help any other developer unfortunate to discover this ‘feature’.
As for you hubspot people, please … please … for something like that, at least put some kind of error response in the API for that situation so that we can handle the condition in our code, instead of wondering **bleep** is going wrong with the code that works in every other scenario and no error messages being reported. That’s just sloppy.
Cheers.