
It’s common for APIs to have parameters, either as query strings — GET /object?name=book
— or as path parameters — GET /object/book
. But if your APIs are implemented in Lambda functions, how do you access the values of these parameters in a Lambda function? Here are a few ways:
Using Lambda Proxy Integration
Turn on Lambda proxy integration in API Gateway:

Then access parameters in your Lambda as follows:
event['pathParameters']['myparam'] event["queryStringParameters"]['myparam'] event['requestContext']['identity']['userAgent']
If you use proxy integration, your Lambda must respond in this format:
{ "isBase64Encoded": true|false, "statusCode": httpStatusCode, "headers": { "headerName": "headerValue", ... }, "body": "..." }
Using Mapping Templates
Set the method request passthrough mapping template in API Gateway:

Then access parameters in your Lambda as follows:
event['params']['querystring']['token'] event['params']['querystring']['uid']