Filter question

I’m wondering why the following test passes, given the encoding format mentioned in the docs for this call:

public function testListLeadSources() {
    $active_response = $this->leadSourcesApi->listLeadSources("status==active", "name asc", "1000");
    $this->assertTrue(0 != count($active_response->getLeadSources()));
    $inactive_response = $this->leadSourcesApi->listLeadSources("status==inactive", "name asc", "1000");
    $this->assertTrue(0 != count($inactive_response->getLeadSources()));
    $this->assertTrue($active_response != $inactive_response);
}

The docs:

$filter = 'filter_example'; // string | Filter to apply, allowed fields are:  - (String) `name` - (String) `status` - (String) `lead_source_category_id` - (String) `vendor` - (String) `medium` - (String) `start_time` - (String) `end_time`  You will need to apply the `==` operator to check the equality of one of the filters with your searched word, in the encoded form `%3D%3D`. For the filters listed above, here are some examples:  - `filter=name%3D%3Dexample` - `filter=start_time%3D%3D2024-12-22T01:00:00.000Z`

Hi @Jeffrey_Chimene, this happens because the http client handles the encoding for you.

If you’re using the SDK, it uses Guzzle under the hood, which automatically encodes query parameters before sending the request, so "status==active" is properly encoded behind the scenes and the test passes.

If you’re using another HTTP client, something similar is probably happening there as well, since most HTTP clients automatically encode query strings.