http trigger is the most common trigger type. It creates a REST endpoint that executes your flow when called.
Configuration
Config Fields
| Field | Type | Required | Description |
|---|---|---|---|
method | string | Yes | HTTP method: GET, POST, PUT, DELETE, PATCH |
path | string | Yes | URL path for the endpoint |
HTTP Methods
| Method | Typical Use |
|---|---|
GET | Retrieve data |
POST | Create resources |
PUT | Replace resources |
PATCH | Partial updates |
DELETE | Remove resources |
Path Patterns
Paths must start with/ and can include path parameters:
Path Parameters
Path parameters are accessible in the request context:Endpoint URL
Your flow’s endpoint URL is constructed from your project’s subdomain and the path:- Project slug:
acme-api - Path:
/payments - Full URL:
https://acme-api.dualship.run/payments
Content Types
HTTP triggers support these content types:| Content-Type | Description |
|---|---|
application/json | JSON request body (default) |
multipart/form-data | File uploads with form fields |
Runtime Context
When an HTTP request triggers your flow, the context includes:Context References
| Reference | Description |
|---|---|
{{request.method}} | HTTP method (GET, POST, etc.) |
{{request.path}} | Request path |
{{request.params.id}} | Path parameter |
{{request.headers.authorization}} | Request header |
{{request.query.limit}} | Query string parameter |
{{request.body}} | Full request body |
{{request.body.amount}} | Body field |
{{request.files}} | Uploaded files (multipart only) |
{{request.files.avatar}} | Specific uploaded file |
Examples
GET Endpoint
Retrieve a user by ID:POST Endpoint
Create a new resource:PUT Endpoint
Replace a resource:DELETE Endpoint
Remove a resource:With Query Parameters
List resources with filtering:With Authentication
Validate authorization header:Request Validation
Use the request node to validate incoming data:File Uploads
Accept file uploads viamultipart/form-data requests. Uploaded files are available in request.files.
File Object Structure
Each uploaded file contains:| Field | Type | Description |
|---|---|---|
name | string | Original filename |
size | number | File size in bytes |
content_type | string | MIME type (e.g., image/jpeg, application/pdf) |
content | string | Base64-encoded file content |
File References
| Reference | Description |
|---|---|
{{request.files.avatar}} | Full file object |
{{request.files.avatar.name}} | Original filename |
{{request.files.avatar.size}} | File size in bytes |
{{request.files.avatar.content_type}} | MIME type |
{{request.files.avatar.content}} | Base64 content |
File Upload Example
Accept and validate a file upload:Multiple Files with Form Data
Handle multiple files along with form fields:CORS
Configure CORS in your project settings to allow cross-origin requests:Rate Limiting
Enable rate limiting in project settings to protect your endpoints:Common Patterns
REST API
Create a full REST API for a resource:| Endpoint | Method | Path | Description |
|---|---|---|---|
| List | GET | /users | Get all users |
| Get | GET | /users/:id | Get one user |
| Create | POST | /users | Create user |
| Update | PUT | /users/:id | Update user |
| Delete | DELETE | /users/:id | Delete user |
Webhook Receiver
Accept webhooks from external services:API Gateway
Proxy requests to backend services:Plan Availability
HTTP triggers are available on all plans including Free.Related
- Request Node - Validate incoming data
- Validation Rules - Complete validation rule reference
- Response Node - Send HTTP responses
- Abort Node - Return error responses
- Project Settings - Configure CORS and rate limiting