Metabase API - Query With Parameters Without 2000 rows limit

Hello everyone,

I am using the Metabase API via python and I am trying to pass parameters directly in my query.
I already read multiple topics about this issue but I can not manage to find a solution to my problem.
It is working in that case but with a limit of 2000 rows :

url = endpoint + 'api/card/5316/query/'
headers = {'Content-Type': 'application/json'
, 'X-Metabase-Session': token}
data = {'parameters': [{"type": "date/single", "target": ["variable", ["template-tag", "id_ending"]], "value": "2021-12-26"}, {"type": "category", "target": ["variable", ["template-tag", "config_name"]], "value": None}]}
response = requests.post(url, headers=headers, json = data)

When I try to do this :

url = endpoint + 'api/card/5316/query/json'
headers = {'Content-Type': 'application/json'
, 'X-Metabase-Session': token}
data = {'parameters': [{"type": "date/single", "target": ["variable", ["template-tag", "id_ending"]], "value": "2021-12-26"}, {"type": "category", "target": ["variable", ["template-tag", "config_name"]], "value": None}]}
response = requests.post(url, headers=headers, json = data)

I do not have a 2000 rows limit anymore (now the limit is of 1 millions, as always in download mode) but my parameters are not applied to my query anymore. So my result is not filtered at all.

Do you have any idea about this ?
Thank you very much for your help.
Best,

Victoire

Hi @VictoireM
I would recommend that you read this - it's two different endpoints.
API POST /api/card/:card-id/query/:export-format with parameters

The get_card_data function of this Python wrapper for Metabase API, does what you are trying to do.

That's very clear ! I managed to make it work with copy as cURL.
Thank you very much