Matching in an API Function

I seem to be having issue doing a “Match else Create” when passing in multiple IDs as part of a function. Even if I switch to just search (which is what I actually prefer to do here) no difference.

Lets assume I send in

{

“data”: [{“id”:“696843”},{“id”:“WAL1142”}]

}

and I want to match those ids against records in the system (both definitely exist).

so my request payload looks like - API Request is the base and my target object is subject to a many2many relationship.

{
“data”: [ base obj –< target obj]
}

and the matching template is

{

“id:” “matching field”

}

With obviously match selected and the “equal to” comparator selected. I don’t actually need them linked but it makes no difference either way.

Cannot work a scenario where it matches to the records and always get E203. There are no errors when saving the template OR the function.

I’m missing something pretty fundamental and maybe I just cannot do it this way. I assume multiple records on an inbound request is not an issue and that I do not have to handle them individually ?

I just want to run an event based on the match - I’m not updating the records directly. As I said a search would be fine.

The http request is a POST but again - It doesn’t seem to make any difference.

Are you doing this as a Liberty API or a generic one? May not make a difference as i’m not spotting the issue yet, but Liberty APIs are a little easier to set up, if a little more limited.

Ali,

Its has to be generic (unfortunately) as its for external / 3rd party usage.

Thanks