Product · October 5, 2026
Add Pigeon to a v0 project
An install opens a Pigeon account for the Vercel email, writes a sending key into the project, and can publish the domain's SES records through Vercel DNS.
The partner API is on https://pigeon.bitscorp.co. v0 shows an install card after Vercel lists the integration. Until that listing, the card is absent and `vc i pigeon` does not resolve.
What an install does
- Uses the verified Vercel email. An existing Pigeon account with that email is linked. A new email gets an account.
- Writes a sending key named v0 into the project as PIGEON_API_KEY. The value starts with pg_.
- When the resource metadata includes a domain, creates that domain and writes the required SES records through the Vercel DNS API. The apex SPF row stays unpublished.
- Sets the team plan to Free, Pro 50,000, or Pro 100,000. While the installation is active, Settings says the account is billed through v0 and hides Stripe Checkout.
- Marks that domain as managed by Vercel. Remove it from the v0 project. The Pigeon dashboard and API will not delete it.
Prompt
After the install card is available, ask v0 to add mail and name the From address on the domain you are verifying.
Add email with Pigeon. Save the signup address and send a welcome from hi@yourdomain.com once that domain is verified.
Send the welcome
From has to be on a domain whose status says Verified. A 403 with domain_not_verified means Amazon has not finished DKIM yet. This key sends mail. It does not create domains or templates.
curl -X POST https://pigeonfs.com/api/emails \ -H "Authorization: Bearer pg_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "from": "Hi <hi@yourdomain.com>", "to": ["you@yourdomain.com"], "subject": "Welcome from v0", "html": "<p>Your Pigeon key is in this project.</p>" }'
After setup
- Open the Pigeon dashboard from the finish link in v0. That link signs you in.
- On Domains, wait until the status pill says Verified before you send to customers.
- Remove the Pigeon resource in v0 to revoke the key. Change the plan from the v0 project, not from Stripe Checkout.