REST API
Send a curated gift with a single POST request. No account or API key required — just describe the recipient, set your budget, and we return a Stripe checkout link. Pay, and we handle the rest.
https://trydoorstep.appFormat
JSONAuth
None requiredPayment
Stripe Checkout/api/checkoutCreate a gift order and receive a Stripe Checkout URL. The recipient gets a curated, branded package; you get the tracking number.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
budget | number | Required | Gift budget in USD. Minimum $15. This amount goes entirely toward the gift. |
occasion | string | Optional | The occasion (e.g. "thank_you_after_demo", "birthday", "congratulations"). |
description | string | Optional | Additional context for gift selection ("coffee lover", "just ran a marathon"). |
recipient.name | string | Required | Full name of the recipient. |
recipient.company | string | Optional | Recipient company name. |
recipient.address | string | Required | Street address for delivery. |
recipient.city | string | Required | City. |
recipient.state | string | Required | State (e.g. "TX", "CA"). |
recipient.zip | string | Required | ZIP code (e.g. "78701"). |
recipient.country | string | Optional | Country code. Defaults to "US". Only US is supported. |
sender.name | string | Optional | Your name (appears on the gift card). |
sender.email | string | Required | Your email (for Stripe receipt and order updates). |
Example Request
curl -X POST https://trydoorstep.app/api/checkout \
-H "Content-Type: application/json" \
-d '{
"budget": 75,
"occasion": "thank_you_after_demo",
"description": "Coffee lover, recently ran a marathon",
"recipient": {
"name": "Sarah Chen",
"company": "Acme Corp",
"address": "123 Main St",
"city": "Austin",
"state": "TX",
"zip": "78701",
"country": "US"
},
"sender": {
"name": "James Maxwell",
"email": "james@company.com"
}
}'Response 200 OK
{
"url": "https://checkout.stripe.com/c/pay/cs_live_..."
}Redirect your user to this URL (or open it in a browser) to complete payment. After payment, they land on a confirmation page with their order ID.
Error Responses
{ "error": "Minimum budget is $15" }{ "error": "Missing required fields" }Pricing
Your budget goes entirely toward the gift. A flat $5 concierge fee is added at checkout — this covers AI selection, personalization, branded packaging, and delivery coordination.
Example: a $50 gift budget results in a $55 total charge.
Order Lifecycle
After you create an order and complete payment, here's what happens behind the scenes.
Pending Payment
Order created. Waiting for the Stripe checkout to be completed.
Paid
Payment received. Our concierge begins sourcing the perfect gift based on your description and budget.
Processing
Gift has been selected, purchased, and shipped to our warehouse for repackaging with branded packaging and a handwritten note.
Shipped
The branded package is on its way to the recipient. Tracking number available.
Delivered
Successfully delivered. The recipient has their gift.
Failed
Something went wrong during fulfillment. We'll reach out to resolve it.