**Overview**

In AWS it is possible to trigger step functions through an API Gateway integration, see https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-api-gateway.html

Similar integrations already occur within localstack, however the step function URIs are notably missing. See lines 66-88 of https://github.com/localstack/localstack/blob/master/localstack/services/apigateway/apigateway_listener.py



┆Issue is synchronized with this [Jira Bug](https://localstack.atlassian.net/browse/LOC-107) by [Unito](https://www.unito.io/learn-more)

client = aws_stack.connect_to_service('apigateway')
    authorizers = client.get_authorizers(restApiId=api_id, limit=100).get('items', [])
    for authorizer in authorizers:
        run_authorizer(api_id, headers, authorizer)
def validate_api_key(api_key, stage):
    key = None
    usage_plan_id = None
    client = aws_stack.connect_to_service('apigateway')
    usage_plans = client.get_usage_plans()
    for item in usage_plans.get('items', []):
        api_stages = item.get('apiStages', [])
        for api_stage in api_stages:
            if api_stage.get('stage') == stage:
                usage_plan_id = item.get('id')
    if not usage_plan_id:
        return False
    usage_plan_keys = client.get_usage_plan_keys(usagePlanId=usage_plan_id)
    for item in usage_plan_keys.get('items', []):
        key = item.get('value')
    if key != api_key:
        return False
    return True
def is_api_key_valid(is_api_key_required, headers, stage):
    if not is_api_key_required:
        return True
    api_key = headers.get('X-API-Key')
    if not api_key:
        return False
    return validate_api_key(api_key, stage)
def update_content_length(response):