SuperAPI AI Directory

awsflow-apigateway

Deployment & operations

View repository

Updated 10-16 06:50

About this skill

awsflow-apigateway

Use the APIGatewayTool language tool in VS Code to manage, inspect, and test AWS API Gateway REST APIs — resources, methods, integrations, stages, authorizers, usage plans, and more.

When to Use

  • User wants to list or inspect REST APIs
  • User wants to view API resources, methods, and integrations
  • User wants to inspect stages, deployments, or stage variables
  • User wants to view or test authorizers
  • User wants to test invoke a method without deploying
  • User wants to inspect usage plans, API keys, or quotas
  • User wants to view custom domain names, base path mappings, or VPC links
  • User wants to view models, request validators, or documentation
  • User wants to export an API or get SDK artifacts
  • User wants to create or delete APIs, resources, stages, authorizers, or usage plans
  • User wants to update API definitions or stage settings

Tool Reference

Tool name: APIGatewayTool

Input Schema

{
  "command": "<CommandName>",
  "params": { ... }
}

Commands (68 total)

Command Description
GetAccount Get API Gateway account settings
GetApiKey Get a specific API key
GetApiKeys List API keys
GetAuthorizer Get a specific authorizer
GetAuthorizers List authorizers for an API
GetBasePathMapping Get a base path mapping
GetBasePathMappings List base path mappings for a domain
GetClientCertificate Get a specific client certificate
GetClientCertificates List client certificates
GetDeployment Get a specific deployment
GetDeployments List deployments for an API
GetDocumentationPart Get a documentation part
GetDocumentationParts List documentation parts
GetDocumentationVersion Get a documentation version
GetDocumentationVersions List documentation versions
GetDomainName Get a custom domain name
GetDomainNames List custom domain names
GetExport Export an API as a Swagger/OAS file
GetGatewayResponse Get a gateway response
GetGatewayResponses List gateway responses
GetIntegration Get integration for a method
GetIntegrationResponse Get integration response
GetMethod Get a specific method
GetMethodResponse Get a method response
GetModel Get a specific model
GetModels List models for an API
GetRequestValidator Get a request validator
GetRequestValidators List request validators
GetResource Get a specific resource
GetResources List resources for an API
GetRestApi Get a specific REST API
GetRestApis List all REST APIs
GetSdk Get SDK for an API stage
GetSdkType Get an SDK type
GetSdkTypes List available SDK types
GetStage Get a specific stage
GetStages List stages for an API
GetTags Get tags for a resource
GetUsage Get usage data for a plan
GetUsagePlan Get a specific usage plan
GetUsagePlanKey Get a specific usage plan key
GetUsagePlanKeys List keys for a usage plan
GetUsagePlans List usage plans
GetVpcLink Get a specific VPC link
GetVpcLinks List VPC links
TestInvokeAuthorizer Test invoke an authorizer
TestInvokeMethod Test invoke a method
CreateRestApi Create a REST API
CreateResource Create a resource under a REST API
PutMethod Create or update a method on a resource
CreateDeployment Create a deployment
CreateStage Create a stage
CreateAuthorizer Create an authorizer
CreateApiKey Create an API key
CreateUsagePlan Create a usage plan
CreateDomainName Create a custom domain name
ImportRestApi Import a REST API from Swagger/OAS
DeleteRestApi Delete a REST API
DeleteResource Delete a resource
DeleteMethod Delete a method
DeleteStage Delete a stage
DeleteAuthorizer Delete an authorizer
DeleteApiKey Delete an API key
DeleteUsagePlan Delete a usage plan
DeleteDomainName Delete a custom domain name
UpdateRestApi Update a REST API
UpdateStage Update a stage
TagResource Tag an API Gateway resource
UntagResource Remove tags from a resource

Parameters

Parameter Type Description
restApiId string REST API identifier (Required by: most Get commands that operate on a specific API)
resourceId string Resource ID (Required by: GetIntegration, GetIntegrationResponse, GetMethod, GetMethodResponse, GetResource, TestInvokeMethod)
httpMethod string HTTP method — GET, POST, PUT, DELETE, etc. (Required by: GetIntegration, GetIntegrationResponse, GetMethod, GetMethodResponse, TestInvokeMethod)
stageName string Stage name (Required by: GetStage)
authorizerId string Authorizer ID (Required by: GetAuthorizer, TestInvokeAuthorizer)
usagePlanId string Usage plan ID (Required by: GetUsagePlan, GetUsagePlanKey, GetUsagePlanKeys)
keyId string Usage plan key ID (Required by: GetUsagePlanKey)
domainName string Custom domain name (Required by: GetDomainName, GetBasePathMapping, GetBasePathMappings)
statusCode string Status code for GetMethodResponse (Required by: GetMethodResponse)
limit number Maximum results for list operations (Used by: all list/get-multiple commands)
position string Pagination position token (Used by: all list/get-multiple commands)
name string Name filter (Used by: GetApiKeys, GetRestApis)
headers object Request headers for test invocation (Used by: TestInvokeMethod, TestInvokeAuthorizer)
multiValueHeaders object Multi-value headers for test invocation (Used by: TestInvokeMethod, TestInvokeAuthorizer)
pathWithQueryString string Path with query string for test invocation (Used by: TestInvokeMethod, TestInvokeAuthorizer)
body string Request body for test invocation (Used by: TestInvokeMethod, TestInvokeAuthorizer)
stageVariables object Stage variables for test invocation (Used by: TestInvokeMethod, TestInvokeAuthorizer)
additionalContext object Additional context for authorizer test (Used by: TestInvokeAuthorizer)
includeCredentials boolean Include credentials in export (Used by: GetExport)

Usage Examples

List all REST APIs

{ "command": "GetRestApis", "params": { "limit": 25 } }

Get details of a specific API

{ "command": "GetRestApi", "params": { "restApiId": "abc123def" } }

List resources for an API

{ "command": "GetResources", "params": { "restApiId": "abc123def", "limit": 100 } }

Get a specific method

{ "command": "GetMethod", "params": { "restApiId": "abc123def", "resourceId": "xyz789", "httpMethod": "GET" } }

Get integration details

{ "command": "GetIntegration", "params": { "restApiId": "abc123def", "resourceId": "xyz789", "httpMethod": "POST" } }

List stages

{ "command": "GetStages", "params": { "restApiId": "abc123def" } }

Get a specific stage

{ "command": "GetStage", "params": { "restApiId": "abc123def", "stageName": "prod" } }

List deployments

{ "command": "GetDeployments", "params": { "restApiId": "abc123def", "limit": 10 } }

Test invoke a method

{ "command": "TestInvokeMethod", "params": { "restApiId": "abc123def", "resourceId": "xyz789", "httpMethod": "GET", "pathWithQueryString": "/items?category=books" } }

Test invoke a method with body

{ "command": "TestInvokeMethod", "params": { "restApiId": "abc123def", "resourceId": "xyz789", "httpMethod": "POST", "pathWithQueryString": "/items", "body": "{\"name\": \"test\", \"price\": 9.99}", "headers": { "Content-Type": "application/json" } } }

Test invoke an authorizer

{ "command": "TestInvokeAuthorizer", "params": { "restApiId": "abc123def", "authorizerId": "auth001", "headers": { "Authorization": "Bearer eyJ..." } } }

List authorizers

{ "command": "GetAuthorizers", "params": { "restApiId": "abc123def" } }

List usage plans

{ "command": "GetUsagePlans", "params": { "limit": 10 } }

List API keys

{ "command": "GetApiKeys", "params": { "limit": 20 } }

Get custom domain names

{ "command": "GetDomainNames", "params": { "limit": 10 } }

Get VPC links

{ "command": "GetVpcLinks", "params": { "limit": 10 } }

Related Services

API Gateway integrates with many AWS services:

Relationship Tool
Lambda integrations (proxy/custom) LambdaTool
Execution logs in CloudWatch CloudWatchLogTool
IAM authorizers & execution roles IAMTool
Deployed via CloudFormation CloudFormationTool
Orchestrated by Step Functions StepFuncTool
Backend on EC2 / VPC link targets EC2Tool
DynamoDB direct integrations DynamoDBTool
SNS direct integrations SNSTool
SQS direct integrations SQSTool

CloudWatch Log Group Naming

API Gateway execution logs use these log group patterns:

API-Gateway-Execution-Logs_<restApiId>/<stageName>

Access logs are configured per-stage and can go to a custom log group.

Use CloudWatchLogTool → DescribeLogGroups with logGroupNamePrefix: "API-Gateway-Execution-Logs_" to find them.

Tips

  • Start with GetRestApis to discover APIs, then GetResources to see the resource tree.
  • Use GetMethod → GetIntegration to see how a method is wired to a backend.
  • TestInvokeMethod lets you test an API method without needing a deployment or stage — great for debugging.
  • TestInvokeAuthorizer validates authorizer behavior without making a real API call.
  • GetStages shows deployment history and stage variables for each stage.
  • Use GetUsagePlans + GetUsagePlanKeys to audit API key throttling and quotas.