Hello folks,
I migrated a legacy app to the latest 2026.03 project platform using hs project upgrade. As a result, all existing timeline events were migrated into a set of JSON files inside the project.
Each app event now has a fully qualified name following this pattern: <app-id>-internal-event-name-<old-timeline-id>
I’m now trying to create contact segments (lists) through the API using these new app events.
My payload looks like this:
{ filterBranchType: 'OR', filterBranchOperator: 'OR', filters: [], filterBranches: [ { filterBranchType: 'AND', filterBranchOperator: 'AND', filters: [], filterBranches: [ { filterBranchType: 'UNIFIED_EVENTS', filterBranchOperator: 'AND', filterBranches: [], eventTypeId: 'using the fully qualified name here', operator: 'HAS_COMPLETED', filters: [ { filterType: 'PROPERTY', property: 'myProperty', operation: { operationType: 'STRING', operator: 'IS_EQUAL_TO', value: 'a given value' } } ] } ] } ] }
However, I’m getting this error:
[400]: { "status": "error", "message": "Unable to infer object type from: ad906381_integrators-timeline-event-type-id-1150444", "correlationId": "corrId" }
It looks like the API does not accept the fully qualified name as the eventTypeId, but after the migration I don’t see another unique identifier I can use for these new app events.
Has anyone successfully created HubSpot Lists/segments based on migrated app events from the new project platform? What is the correct identifier to use for eventTypeId in this case?
Thanks!
I wasn’t expected such indentation for the payload. Find a proper paylaod indentation here => https://www.jsonblob.com/019ecf94-803e-7b26-945c-3fe5c5d48c49
Hi @yoLotus and thanks for reaching out to the HubSpot Community!
When looking at “List (segment) filters overview”, I don’t see the identifier to use for migrated app events in the UNIFIED_EVENTS eventTypeId field of the Lists API. I’ll make sure to pass this along internally.
Let’s consult our Top Experts: Hi @zach_threadint, @MichaelMa and @Anton do you have suggestions or workarounds to help @yoLotus, please?
Thanks so much and have a lovely day!
Bérangère
Hi @yoLotus 
Which HubSpot API endpoint are you calling? Assuming you are using the 2026-03 version, here’s the official documentation. According to that documentation, your request body shape looks a bit off. Here’s the example shape provided in the documentation:
{
"name": "<string>",
"objectTypeId": "<string>",
"processingType": "<string>",
"customProperties": {},
"filterBranch": {
"filterBranchOperator": "<string>",
"filterBranchType": "OR",
"filterBranches": [
{
"filterBranchOperator": "<string>",
"filterBranchType": "AND",
"filterBranches": "<array>",
"filters": [
{
"filterType": "PROPERTY",
"operation": {
"includeObjectsWithNoValueSet": true,
"operationType": "BOOL",
"operator": "<string>",
"value": true
},
"property": "<string>"
}
]
}
],
"filters": [
{
"filterType": "PROPERTY",
"operation": {
"includeObjectsWithNoValueSet": true,
"operationType": "BOOL",
"operator": "<string>",
"value": true
},
"property": "<string>"
}
]
},
"listFolderId": 123,
"membershipSettings": {
"includeUnassigned": true,
"membershipTeamId": 123
}
}
At the very least, it looks like you’re missing the top-level required keys:
name
objectTypeId
processingType
Try reformatting your request body to fit this templated example and let us know how you get on. I hope this proves helpful. Please let me know if you have any follow-up questions.
Hey @zach_threadint
Thanks for taking a look at this. You’re right, I was only sharing the filters part of my payload because I thought that was the relevant piece for the issue I was facing. Here is the full payload for more context (sorry in advance if the indentation is once again odd, I’m trying to use the formatting tool though):
{
"objectTypeId": "0-1",
"processingType": "DYNAMIC",
"listFolderId": 0,
"name": "List Name",
"filterBranch": {
"filterBranchType": "OR",
"filterBranchOperator": "OR",
"filters": [],
"filterBranches": [
{
"filterBranchType": "AND",
"filterBranchOperator": "AND",
"filters": [],
"filterBranches": [
{
"filterBranchType": "UNIFIED_EVENTS",
"filterBranchOperator": "AND",
"filterBranches": [],
"eventTypeId": "<app-id>_integrators-timeline-event-type-id-<event-id>",
"operator": "HAS_COMPLETED",
"filters": [
{
"filterType": "PROPERTY",
"property": "myProperty",
"operation": {
"operationType": "STRING",
"operator": "IS_EQUAL_TO",
"value": "<given-value>"
}
}
]
}
]
}
]
}
}
However, the issue is still the same: I’m not able to create a list using occurrences of the new app events as filters.
As mentioned by @Berangere , maybe this functionality is not fully documented or supported yet? To provide more context, I’m currently trying to migrate an existing list creation flow that was based on timeline events over to the new app events system.
Hi @yoLotus 
I managed to make a little progress here.
I started by creating a List via the UI, referencing an App Event. I then retrieved that List via API (including query parameter includeFilters set to true), which revealed the App Event’s eventTypeId. This can be used when creating a List via API (i.e. not the App Event’s fullyQualifiedName, at least not currently).
However, I hit a snag when trying to set additional filters referencing App Event properties (even though I had no trouble adding them when creating a List via the UI). Here’s the error message I get when trying to include these filters on a create List API call:
{
"status": "error",
"message": "The following properties are not available as filters for unified event ae12345_integrators-timeline-event-type-id-9876543210: ue_property_name.",
"correlationId": "xxxx-xxxx-xxxx",
"context": {
"eventTypeFqn": [
"ae12345_integrators-timeline-event-type-id-9876543210"
],
"invalidPropertyNames": [
"ue_property_name"
]
},
"category": "VALIDATION_ERROR",
"subCategory": "ListError.UNIFIED_EVENT_PROPERTIES_NOT_FILTERABLE"
}
Worth noting that the App Event property names seem to be prepended with ue_.
I hope that proves helpful. Please let me know if you have any follow-up questions.