Documentation
Everything you need to integrate Pigeonify into your application
Quick Start Guide
Stripe Setup
Complete Billing Integration
Pigeonify uses Stripe for subscription billing. Follow these steps to set up payment processing for your Pro and Scale plans.
📖 Read the complete Stripe setup guideQuick Setup Checklist
Sign up at dashboard.stripe.com
From Stripe Dashboard → Developers → API keys
Pro Plan ($20/mo) and Scale Plan ($90/mo) in Stripe Products
Point to: https://pigeonify.com/api/billing/webhook
Add 5 required variables to your Vercel project
Required Environment Variables
STRIPE_SECRET_KEY=sk_test_... NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_... STRIPE_WEBHOOK_SECRET=whsec_... STRIPE_PRO_PRICE_ID=price_... STRIPE_SCALE_PRICE_ID=price_...
Add these to your Vercel project: Settings → Environment Variables
API Documentation
Authentication
All API requests require an API key. You can generate API keys from your dashboard under Settings → API Keys.
Include your API key in the X-API-Key header:
X-API-Key: pgn_your_api_key_hereSend Email
/api/v1/sendSend a single email through the Pigeonify API
Request Headers:
Content-Type: application/json X-API-Key: pgn_your_api_key_here
Request Body:
{
"from": "noreply@yourdomain.com",
"to": "recipient@example.com",
"subject": "Hello from Pigeonify",
"html": "<h1>Hello!</h1><p>This is a test email.</p>",
"text": "Hello! This is a test email.",
"reply_to": "support@yourdomain.com"
}Optional fields: text, reply_to
Example Request (cURL):
curl --location 'https://pigeonify.com/api/v1/send' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: pgn_your_api_key_here' \
--data-raw '{
"from": "noreply@yourdomain.com",
"to": "recipient@example.com",
"subject": "Hello from Pigeonify",
"html": "<h1>Hello!</h1><p>This is a test email.</p>",
"text": "Hello! This is a test email."
}'Success Response (200):
{
"success": true,
"message_id": "01020193d9c7e8f8-7d2a8b3c-4e5f-6789-a0b1-c2d3e4f5g6h7-000000"
}Error Responses:
{
"error": "Missing X-API-Key header"
}{
"error": "Missing required fields: from, to, subject, html"
}🔑 How to Get Your API Key
- Log in to your Pigeonify dashboard
- Navigate to Dashboard → API Keys
- Click "Create API Key"
- Give your key a name (e.g., "Production API")
- Copy the generated key (it starts with
pgn_) - Store it securely - you won't be able to see it again!
SMTP Configuration
SMTP Settings
Use these settings to configure SMTP in your application:
Node.js Example (Nodemailer):
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: 'smtp.pigeonify.com',
port: 587,
secure: false,
auth: {
user: 'your-api-key-name',
pass: 'your-api-key'
}
});
await transporter.sendMail({
from: 'sender@yourdomain.com',
to: 'recipient@example.com',
subject: 'Hello',
html: '<h1>Hello World</h1>'
});Domain Setup
Verify Your Domain
To send emails from your domain, you need to verify it by adding DNS records:
- Go to Dashboard > Domains and add your domain
- Copy the provided DNS records (TXT, SPF, DKIM, DMARC)
- Add these records to your domain's DNS settings
- Click "Verify" to confirm the setup
Note: DNS changes can take up to 48 hours to propagate, but usually complete within a few hours.