API Reference
Base URL: https://growthservice.org/api/v1
All endpoints
| Method | Path | Description | Auth |
|---|---|---|---|
| POST | /auth/request-key | Request an API key | No |
| GET | /services | List all services with pricing | No |
| POST | /orders | Create an order | Yes |
| GET | /orders/:id | Get order details | Yes |
| GET | /orders | List all your orders | Yes |
POST
/auth/request-keyPublicRequest an API key. The key is sent to your email — no signup required. If you already have a key, the same key is re-sent.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| string | Required | Your email address |
Request
curl -X POST https://growthservice.org/api/v1/auth/request-key \
-H "Content-Type: application/json" \
-d '{"email": "you@company.com"}'Response
{
"message": "API key sent to your email."
}GET
/servicesPublicList all available services with tiers and pricing. Public endpoint — no authentication required.
Request
curl https://growthservice.org/api/v1/services
Response
{
"services": [
{
"id": "sales_leads",
"name": "Sales Leads",
"description": "Prospects who opened your website or replied...",
"unit": "leads",
"tiers": [
{
"tier": "starter",
"label": "Starter",
"quantity": 5,
"quantityLabel": "5 leads guaranteed",
"priceCents": 4000,
"priceLabel": "$40"
},
{
"tier": "growth",
"label": "Growth",
"quantity": 50,
"quantityLabel": "50 leads guaranteed",
"priceCents": 40000,
"priceLabel": "$400"
},
{
"tier": "scale",
"label": "Scale",
"quantity": 500,
"quantityLabel": "500 leads guaranteed",
"priceCents": 400000,
"priceLabel": "$4,000"
}
]
},
...
]
}POST
/ordersAuth requiredCreate an order for a service. Returns a Stripe checkout URL. Redirect the user to pay — the order is fulfilled automatically after payment.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| service | string | Required | Service ID: pr_journalist_leads, pr_publication_proposals, sales_leads, or sales_positive_replies |
| tier | string | Required | Tier: starter, growth, or scale |
| brand_url | string | Optional | Your brand website URL |
| description | string | Optional | Brief description of your brand and what you want (1-2 lines) |
Request
curl -X POST https://growthservice.org/api/v1/orders \
-H "Authorization: Bearer gsk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"service": "sales_leads",
"tier": "growth",
"brand_url": "https://yourbrand.com",
"description": "B2B SaaS targeting CTOs at mid-market companies"
}'Response
{
"order_id": "ord_a1b2c3d4e5",
"checkout_url": "https://checkout.stripe.com/c/pay/cs_live_..."
}Open the
checkout_url in a browser to complete payment via Stripe. After payment, the order status updates to paid and fulfillment starts automatically.GET
/orders/:idAuth requiredGet details and status for a specific order.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | Order ID (in URL path) |
Request
curl https://growthservice.org/api/v1/orders/ord_a1b2c3d4e5 \ -H "Authorization: Bearer gsk_YOUR_KEY"
Response
{
"id": "ord_a1b2c3d4e5",
"service": "sales_leads",
"tier": "growth",
"status": "paid",
"amount_cents": 40000,
"brand_url": "https://yourbrand.com",
"description": "B2B SaaS targeting CTOs",
"created_at": "2026-02-09T12:00:00.000Z",
"paid_at": "2026-02-09T12:05:00.000Z"
}Order statuses
| Status | Meaning |
|---|---|
pending | Order created, awaiting payment |
paid | Payment received, fulfillment started |
fulfilled | All guaranteed results delivered |
refunded | Order refunded per guarantee terms |
GET
/ordersAuth requiredList all orders associated with your API key.
Request
curl https://growthservice.org/api/v1/orders \ -H "Authorization: Bearer gsk_YOUR_KEY"
Response
{
"orders": [
{
"id": "ord_a1b2c3d4e5",
"service": "sales_leads",
"tier": "growth",
"status": "paid",
"amount_cents": 40000,
"created_at": "2026-02-09T12:00:00.000Z"
}
]
}Error responses
All errors return a JSON object with an error field:
{
"error": "Missing required field: service"
}| Code | Meaning |
|---|---|
| 400 | Bad request — check params |
| 401 | Missing or invalid API key |
| 404 | Order not found |
| 429 | Rate limited — slow down |
| 500 | Server error — try again |