I'm trying to write API client for Jira with Python requests lib according reference: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/ Request to be generated: http://localhost:8080/rest/api/2/search?jql=assignee=charlie&startAt=2&maxResults=2 As I know, parameters to GET request should be passed as dictionary like: params = {'assignee':'charlie', 'startAt':'2'} But all main parameters are nested in jql parameter, so I assume there is should be a nested dict like: params = {'jql': {'assignee': 'charlie'}} But that's doesn't work - as a result I've got request to /rest/api/2/search?jql=assignee As expect /rest/api/2/search?jql=assignee=charlie using r = requests.get(url, params=params) How to manage such request? UPD: To be more clear, I'd like to wrap request in a method with kwargs, like: search_query(assignee='charlie', startAt=1, etc...) And then generate a query using this params, but maybe there are any other ideas. Continue reading...