LLM Skills
~/catalog/deployment & infra//SKILL
Deployment & infraGitHub source

Api gateway

/SKILL

AWS API Gateway for REST and HTTP API management. Use when creating APIs, configuring integrations, setting up authorization, managing stages, implementing rate limiting, or troubleshooting API issues

itsmostafaitsmostafa
1.1k
June 15, 2026
MIT License
// skill content

--- name: api-gateway description: AWS API Gateway for managing REST and HTTP API. Use it when creating APIs, configuring integrations, setting up authorization, managing stages, implementing rate limiting, or troubleshooting API issues. lastupdated: "2026-01-07" docsource: https://docs.aws.amazon.com/apigateway/latest/developerguide/ --- # AWS API Gateway Amazon API Gateway is a fully managed service for creating, publishing, and securing APIs at any scale. It supports REST APIs, HTTP APIs, and WebSocket APIs. ## Table of Contents - [Core Concepts](#core-concepts) - [Common Patterns](#common-patterns) - [CLI Reference](#cli-reference) - [Best Practices](#best-practices) - [Troubleshooting](#troubleshooting) - [References](#references) ## Core Concepts ### API Types | Type | Description | Use Case | |------|-------------|----------| | HTTP API | Low-latency, cost-effective | Simple APIs, Lambda proxy | | REST API | Full-featured, more control | Complex APIs, transformation | | WebSocket API | Bidirectional communication | Real-time apps, chat | ### Key Components - Resources: URL paths (/users, /orders /{id}) - Methods: HTTP verbs (GET, POST, PUT, DELETE) - Integrations: Backend connections (Lambda, HTTP, AWS services) - Stages: Deployment environments (dev, prod) ### Integration Types | Type | Description | |------|-------------| | Lambda Proxy | Pass-through to Lambda (recommended) | | Lambda Custom | Transform request/response | | HTTP Proxy | Pass-through to HTTP endpoint | | AWS Service | Direct integration with AWS services | | Mock | Return a static response | ## Common Patterns ### Create an HTTP-APIs with Lambda AWS CLI: ``bash # Create HTTP API aws apigatewayv2 create-api \ --name my-api \ --protocol-type HTTP \ --target arn:aws:lambda:us-east-1:123456789012:function:MyFunction # Get API endpoint aws apigatewayv2 get-api --api-id abc123 --query 'ApiEndpoint' ` **SAM Template:** `yaml AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyApi: Type: AWS::Serverless::HttpApi Properties: StageName: prod MyFunction: Type: AWS::Serverless::Function Properties: Handler: app.handler Runtime: python3.12 Events: ApiEvent: Type: HttpApi Properties: ApiId: !Ref MyApi Path: /items Method: GET ` ### Create REST API with Lambda Proxy `bash # Create REST API aws apigateway create-rest-api \ --name my-rest-api \ --endpoint-configuration types=REGIONAL API_ID=abc123 # Get root resource ID ROOT_ID=$(aws apigateway get-resources --rest-api-id $API_ID --query 'items[0].id' --output text) # Create resource aws apigateway create-resource \ --rest-api-id $API_ID \ --parent-id $ROOT_ID \ --path-part items RESOURCE_ID=xyz789 # Create method aws apigateway put-method \ --rest-api-id $API_ID \ --resource-id $RESOURCE_ID \ --http-method GET \ --authorization-type NONE # Create Lambda integration aws apigateway put-integration \ --rest-api-id $API_ID \ --resource-id $RESOURCE_ID \ --http-method GET \ --type AWS_PROXY \ --integration-http-method POST \ --uri arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789012:function:MyFunction/invocations # Deploy to stage aws apigateway create-deployment \ --rest-api-id $API_ID \ --stage-name prod ` ### Lambda Handler for API Gateway `python import json def handler(event, context): # HTTP API event http_method = event.get('requestContext', {}).get('http', {}).get('method') path = event.get('rawPath', '') query_params = event.get('queryStringParameters', {}) body = event.get('body', '') if body and event.get('isBase64Encoded'): import base64 body = base64.b64decode(body).decode('utf-8') # Process request response_body = {'message': 'Success', 'path': path} return { 'statusCode': 200, 'headers': { 'Content-Type': 'application/json' }, 'body': json.dumps(response_body) } `` ### Configure CORS

// original public source
itsmostafa/aws-agent-skills
/skills/api-gateway/SKILL.md
License: MIT License
Independent project, not affiliated with Anthropic. This skill remains the property of its original author.
// install this skill
Paste this command in your terminal at the root of your project:
mkdir -p .claude/commands && curl -o ".claude/commands/SKILL.md" "https://raw.githubusercontent.com/itsmostafa/aws-agent-skills/main/skills/api-gateway/SKILL.md"
Then in Claude Code, type /SKILL to activate it.
open_in_newOpen original source
// save
Save available after sign in.
loginSign in to save
// information
Creatoritsmostafa
Stars 1.1k
LicenseMIT License
UpdatedJune 15, 2026
Format.md
AccessFree
// similar

Skills Deployment & infra

View allarrow_forward