API Reference

Base URL: https://growthservice.org/api/v1

All endpoints

MethodPathDescriptionAuth
POST/auth/request-keyRequest an API keyNo
GET/servicesList all services with pricingNo
POST/ordersCreate an orderYes
GET/orders/:idGet order detailsYes
GET/ordersList all your ordersYes
POST/auth/request-keyPublic

Request 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

NameTypeRequiredDescription
emailstringRequiredYour 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/servicesPublic

List 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 required

Create an order for a service. Returns a Stripe checkout URL. Redirect the user to pay — the order is fulfilled automatically after payment.

Parameters

NameTypeRequiredDescription
servicestringRequiredService ID: pr_journalist_leads, pr_publication_proposals, sales_leads, or sales_positive_replies
tierstringRequiredTier: starter, growth, or scale
brand_urlstringOptionalYour brand website URL
descriptionstringOptionalBrief 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 required

Get details and status for a specific order.

Parameters

NameTypeRequiredDescription
idstringRequiredOrder 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

StatusMeaning
pendingOrder created, awaiting payment
paidPayment received, fulfillment started
fulfilledAll guaranteed results delivered
refundedOrder refunded per guarantee terms
GET/ordersAuth required

List 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"
}
CodeMeaning
400Bad request — check params
401Missing or invalid API key
404Order not found
429Rate limited — slow down
500Server error — try again