API
Create prospects and gift orders from an agent or script. CloseAndKeep returns a Stripe Checkout URL a human completes payment. Card numbers never touch your key or our API.
How it works
- Sign in and create a key under API keys in the dashboard.
- Call the API with
Authorization: Bearer cak_…. Keys cannot call admin routes; create/order endpoints are rate-limited. - Create a prospect, then a gift order. Open the returned Checkout URL to pay.
- After payment succeeds the order becomes
queuedfor fulfillment (manual today; bakery API can plug in later without changing this flow).
Base URL
API host: https://api.closeandkeep.com
Public site: https://closeandkeep.com. Gift ids: cookies-4, cookies-12 (confirm live prices with GET /gifts).
Create a prospect
curl -s -X POST "https://api.closeandkeep.com/prospects" \
-H "Authorization: Bearer cak_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Dana Buyer",
"email": "dana@acme.example",
"deal_status": "open"
}'Create an order + Checkout URL
curl -s -X POST "https://api.closeandkeep.com/gift-orders" \
-H "Authorization: Bearer cak_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"prospect_id": 123,
"gift_id": "cookies-4",
"recipient_name": "Dana Buyer",
"shipping_company": "Acme Corp",
"shipping_street": "123 Main St",
"shipping_city": "Springfield",
"shipping_state": "IL",
"shipping_postal_code": "62704",
"note": "Thanks for the great meeting!"
}'Send street, city, state, and ZIP as separate fields. Optional shipping_company helps building / office deliveries. You can still send a singleshipping_address string if your system only has a combined address. Omit both and set request_recipient_address: true to email the recipient for shipping.
Response includes checkout_url. Open it in a browser to pay. If Pay monthly is on in Profile, checkout_url is null and the order is billed at month end. Poll GET /gift-orders/{id} for payment_status and status.
What this API does not do
- It does not accept card numbers. Per-order payment is Stripe Checkout. Monthly billing (Profile, after an API key or CRM connect) charges a saved card at month end.
- It does not charge a saved card on the create-order call itself.
- It does not call the bakery yet paid orders queue for fulfillment so a vendor API can be added without changing how partners create orders.
