apigateway-v1 — API Gateway v1 (REST APIs)

A zero-dependency, in-process emulator for AWS API Gateway v1 (REST APIs).

PropertyValue
Port4715
ProtocolREST / JSON
HealthGET /_parlel/health
ResetPOST /_parlel/reset

Separate from apigateway-v2 (port 4714, HTTP/WebSocket) and the legacy apigateway stub (port 4579).

Default connection

AWS_ENDPOINT_URL=http://127.0.0.1:4715
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=parlel
AWS_SECRET_ACCESS_KEY=parlel

Implemented operations

OperationMethod + Path
CreateRestApiPOST /restapis (seeds a root / resource)
GetRestApisGET /restapis
GetRestApiGET /restapis/{id}
UpdateRestApiPATCH /restapis/{id}
DeleteRestApiDELETE /restapis/{id}
CreateResourcePOST /restapis/{id}/resources/{parentId}
GetResourcesGET /restapis/{id}/resources
GetResourceGET /restapis/{id}/resources/{resourceId}
DeleteResourceDELETE /restapis/{id}/resources/{resourceId}
PutMethodPUT /restapis/{id}/resources/{resourceId}/methods/{m}
GetMethodGET /restapis/{id}/resources/{resourceId}/methods/{m}
CreateDeploymentPOST /restapis/{id}/deployments
GetDeploymentsGET /restapis/{id}/deployments
GetDeploymentGET /restapis/{id}/deployments/{id}
DeleteDeploymentDELETE /restapis/{id}/deployments/{id}
CreateStagePOST /restapis/{id}/stages
GetStagesGET /restapis/{id}/stages
GetStageGET /restapis/{id}/stages/{name}
UpdateStagePATCH /restapis/{id}/stages/{name}
DeleteStageDELETE /restapis/{id}/stages/{name}
CreateApiKeyPOST /apikeys
GetApiKeysGET /apikeys
GetApiKeyGET /apikeys/{id}

Access via MCP / preview URL

Point any AWS SDK or MCP tool at the allocated preview URL via AWS_ENDPOINT_URL.

Surface coverage

This emulator faithfully replicates the API surface most application code and agents exercise. Anything below the supported lines is either an intentional design choice for a fast, zero-cost local emulator (✓ By design) or a candidate for a future release (⟳ Roadmap) — never a silent inaccuracy.

Legend: ✅ fully supported · ◐ accepted (stored, not strictly enforced) · ✓ by design · ⟳ on the roadmap.

AreaLimitation
Request execution✓ No actual request routing/invocation
Integrations⟳ PutIntegration is not implemented
Authorizers⟳ Not implemented
Usage plans⟳ Not implemented
Custom domains⟳ Not implemented
Models⟳ Not implemented
State✓ In-memory only; lost on restart
Auth◐ AWS SigV4 not validated (credentials accepted)
Caching✓ Cache cluster config stored, no real cache
Tags✅ Tags stored and returned on resources

Error codes & shapes

The emulator returns the standard AWS error envelope:

{
  "__type": "NotFoundException",
  "message": "Invalid REST API identifier specified: abc123"
}

Error types: BadRequestException (400), UnauthorizedException (401), NotFoundException (404), ConflictException (409), TooManyRequestsException (429), InternalServerErrorException (500).

Manifest

KeyValue
Nameapigateway-v1
Version0.1
Port4715
Protocolhttp
<!-- parlel:testenv:start -->

Configuration — test.env

Copy these into your test.env (used by the bridge sidecar flow). Tokens are Parlel's seeded test credentials — any non-empty value is accepted by the emulator, so you rarely need to change them. Swap in real credentials only when pointing at the live service in prod.env.

AWS_ACCESS_KEY_ID=parlel
AWS_SECRET_ACCESS_KEY=parlel
AWS_REGION=us-east-1
AWS_ENDPOINT_URL=http://parlel-bridge:4715
<!-- parlel:testenv:end -->