convex-http-actions

Build HTTP endpoints in Convex for webhooks, API routes, and external integrations.

Updated May 28, 2026
One-click install
npx skills add https://github.com/mrisoli/pokerhouse --skill convex-http-actions-mrisoli
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: convex-http-actions
Source: https://github.com/mrisoli/pokerhouse/tree/main/.agents/skills/convex-http-actions
Command: npx skills add https://github.com/mrisoli/pokerhouse --skill convex-http-actions-mrisoli

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires stripe, svix.

What problem does it solve? Exposing Convex applications to external services requires custom HTTP endpoints for webhooks, API routes, and file uploads, which involves routing, authentication, CORS, and signature verification that are easy to get wrong. ## Core Features & Use Cases - HTTP Router Setup: Define GET, POST, and OPTIONS routes with path parameters, request body parsing (JSON, form data, raw bytes), and structured error responses. - Webhook Handling: Receive and verify webhooks from Stripe, GitHub, and Clerk with signature validation using Svix or Stripe SDKs in Node.js actions. - Authentication & CORS: Implement API key and Bearer token authentication, plus CORS preflight handling for browser-accessible endpoints. - Use Case: You need to sync Clerk users into your Convex database. Create a /webhooks/clerk endpoint that verifies Svix signatures and calls internal mutations to create, update, or delete users. ## Quick Start Create a Convex HTTP endpoint that receives Stripe webhooks, verifies the signature, and processes checkout completion events.

Frequently Asked Questions about convex-http-actions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create HTTP endpoints in Convex?▼

Use httpRouter from convex/server and define routes with httpAction handlers in convex/http.ts. Each route specifies a path, method, and handler that receives the request and returns a Response object.

How to verify Stripe webhook signatures in Convex?▼

Pass the raw request body and stripe-signature header to an internal Node.js action, then call stripe.webhooks.constructEvent with your webhook secret. HTTP actions run in the Convex runtime, so signature verification requires a "use node" action file.

Can Convex HTTP actions call mutations and queries?▼

Yes, HTTP actions can call internal mutations and queries via ctx.runMutation and ctx.runQuery. Use internal functions rather than public ones to avoid exposing database operations directly through HTTP endpoints.

Why do browser requests to my Convex endpoint fail with CORS errors?▼

Browsers send an OPTIONS preflight request before cross-origin calls. Add an OPTIONS route returning Access-Control-Allow-Origin, Allow-Methods, and Allow-Headers, and include the same headers on actual responses.

What are the limitations of Convex HTTP actions?▼

HTTP actions cannot use Node.js APIs directly, so webhook signature verification with libraries like Stripe or Svix must run in separate Node.js actions. Long-running processing should be delegated to scheduled functions to avoid timeouts.