Admin API filters

According to documentation, resources can be filtered in API calls using this format:
GET /api/v1/products/?criteria[{nameOfCriterion}][type]={searchOption}&criteria[{nameOfCriterion}][value]={searchPhrase}’

But I am getting an empty response if searchOption is not ‘contains’.

¿Is there any way to filter fields using other options?
For example, filter a date field using between expression.

If nameOfCriterion = search and searchPhrase = shirt then the criteria will be criteria[search][type]=contains&criteria[search][value]=shirt.
In JS you can define it like this:

const criteria = {
    search: {
        type: "contains",
        value: "shirt"

If you add a date filter, it will be like criteria[date][from][date]=2020-09-01&criteria[date][to][date]=2020-09-23, which in JS is (also added time):

const criteria = {
    date: {
        from: {
            date: "2020-09-01"
            time: "00:00:00"
        to: {
            date: "2020-09-23"
            time: "23:59:59"

You can see examples in filters specs:

Thanks for your reply.

That filter works properly for some API calls, for example, I can get orders placed from a date using:

But the same format isn’t working if I try to get orders for a specific customer:

¿Is this the expected behavior?

Yes, this is expected, because that grid does not have such filter:
You can read here how to customize grids and add filters: