cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

API to create/update Segments

pcapazzi
Practitioner

Currently we have to manually create a segment to export users that meet a criteria. It would be great if we had an API endpoint to create/update segments to help manage and report on the data. 

7 REPLIES 7

Hi @bob ,

In one case we are tracking a set of a custom attributes that changes. We have a segment with a list of all of those attributes. We download the segment to get the applicable users and the values of the attributes. After a set period of time we remove applicable attributes from the segment. I'd really like to be able to have an API call that removes those attributes from the segment. 

I agree with you that it can be challenging. Some kind of basic SQL language that supports the level of selection that can be defined in the UI would be great. I think documenting how the selection is currently constructed is not very difficult though. 

(attribute1 is not blank or attribute2 is not blank) and external user id is not blank

I can write a process that can put together a new string and replace it:

(attribute1 is not blank) and external user id is not blank

There are other applications as well. 

Thanks.

Really interesting thread - very curious how/why you're using this!

My initial thought is to just create as many segments as you need up front, instead of trying to update a single segment. But, that may not give you the historical tracking you need (or at least makes it difficult)?

Trying to get to the root of your usecase/problem @pcapazzi... Can you tell me more about the custom attributes? Are they time sensitive details like `marchPurchaseDetails`?

JoeM
Active Member

We have this same issue, as we have a segment that needs to have it's criteria changed at midnight every quarter. Real pain for whoever draws the short straw on NYE, you know?

So far, there's only one way I've found to successfully update a segment by api, and it's pretty clunky:

I used to use this back in the day with SFMC, but the Braze endpoints are a little more finicky:

If you use inspect mode in your browser, while on the network tab you save an update to the segment in question. From the network tab you'll be able to copy the actual request to Braze that includes your users authentication. 

You can import that into postman, curl etc and modify as you see fit. It should work until your user auth tokens expire.

Note: There are a ton of problems with this: It basically tricks Braze into thinking you're in your browser and clicking the buttons, so of course permissions are only scoped to that user, there are issues with how you authenticate users (SSO, IP whitelisting etc), issues if they ever change anything in the format of the api call etc. This basically works when you know you have one specific thing to do later this evening... But it DOES work.