Formstack API parameters

608 views Asked by At

I'm trying to use the Form Stack API to download some submissions onto my computer. I can download all submissions, but I would like to download records where the field is equal to some value (similar to using where in SQL).

It seems that the search_field_x and search_value_x options are used for this purpose but I can't get them to work.

Does anyone have an example on how to specify these parameters? I couldn't quite make sense of the docs here. That is, I did not understand what the values 1-10 represented.

This is the curl command I've been using. I have also used their online interface to pull the data, but the result is always the full set of submissions rather than a subset, which is what I'm after.

cstr='curl -i -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer secret_number" https://www.formstack.com/api/v2/form/form_id/submission.json?data=true\&page=1\&per_page=10\&search_field_x=School\&search_value_x="St.John" > my_data.json'
1

There are 1 answers

0
campo On BEST ANSWER

Here is a way to get filtered submissions back using the Formstack API:

curl:

curl -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Bearer <bearer_number>" https://www.formstack.com/api/v2/form/<form_number>/submission.json?
data=true\&page=1\&per_page=100\&search_field_1=<my_search_field_number>\&search_value_1=<my_search_value>

or using python and requests:

headers = {'Accept': 'application/json',
           'Content-Type': 'application/json',
           'Authorization': 'Bearer <bearer_number>'
           }

params = {'data': 'true',
          'per_page': '100',
          'search_field_1': '<my_search_field_number>',
          'search_value_1': '<my_search_value>'
          }


response = requests.get('https://www.formstack.com/api/v2/form/<my_form_id>/submission.json', headers=headers, params=params)
json_data = json.loads(response.text)