Inquir Compute logoInquir Compute
API Gateway

Serverless API Gateway

For public HTTP APIs and webhooks on serverless functions—route-level auth, path parameters, CORS, rate limits, and instant routing without a separate ingress layer.

Skip a dedicated ingress stack—publish HTTPS routes that map straight to functions, apply policies per path, and go live at /gw/{workspace}/{path} without an extra gateway deploy or DNS cutover.

  • For APIs — typed paths and HTTP methods, per-route auth (none, API key, or Bearer), CORS rules, and parameters like /users/:id flowing into your handler.
  • For webhooks — stable public URLs on your workspace, ingress auth you control, and the same function handoff model as the rest of your HTTP surface.
  • For agent tools — one HTTPS route per tool or action, the same serverless deploy, secrets, and observability as your other gateway-backed handlers.

Related guides and docs

How serverless API routing works

1

Define a route

Map any HTTP method and path to a function. Supports wildcards and path parameters like /users/:id.

2

Set authentication

Choose none, API key, or Bearer token auth per route. Each route can have its own policy.

3

Go live instantly

Your route is immediately available at /gw/{workspace}/{path}. No deploy step, no DNS changes.

API gateway features for APIs and webhooks

Path parameters

/users/:id → event.pathParameters.id. Wildcards with /admin/* also supported.

Rate limiting

Cap requests per minute per route. Protect your functions from abuse.

CORS configuration

Set allowed origins and headers per route. Fine-grained control per endpoint.

Any HTTP method

Route GET, POST, PUT, DELETE independently — or use ANY to catch them all.

Example route config and function handler

route.json
// Route configuration
{
  "method": "GET",
  "path": "/users/:id",
  "functionId": "get-user",
  "auth": "api-key",
  "rateLimit": 100,
  "cors": {
    "allowedOrigins": ["https://myapp.com"]
  }
}
get-user/index.js
export async function handler(event, context) {
  const id = event.pathParameters?.id;
  if (!id) {
    return { statusCode: 400, body: JSON.stringify({ error: 'missing id' }) };
  }
  const user = await db.users.findById(id);

  return {
    statusCode: 200,
    body: JSON.stringify(user),
  };
}

Get started free

Deploy your first function in minutes. No credit card required.

Inquir Compute logoInquir Compute

The simplest way to run AI agents and backend jobs without infrastructure.

Contact info@inquir.org

© 2025 Inquir Compute. All rights reserved.