Skip to content

Contact & Support

Public contact form and authenticated support tickets with admin management.

Public contact form

No authentication required.

bash
curl -s -X POST http://localhost:4000/contact/messages \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Alex Buyer",
    "email": "buyer@example.com",
    "subject": "LaunchKit Pro question",
    "message": "How do I deploy to my VPS?"
  }' | jq

Returns generic success — internal IDs are not exposed. MOCK email sent to SUPPORT_EMAIL.

Frontend: /contact

Support tickets (users)

MethodPath
GET/support/tickets
POST/support/tickets
GET/support/tickets/:ticketId
PATCH/support/tickets/:ticketId
POST/support/tickets/:ticketId/replies

Create:

bash
curl -s -X POST http://localhost:4000/support/tickets \
  -H "Authorization: Bearer <accessToken>" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Need help with billing",
    "description": "Mock checkout completed but plan did not update.",
    "priority": "NORMAL"
  }' | jq

Frontend: /dashboard/support, /dashboard/support/new

Admin contact messages

MethodPath
GET/admin/contact-messages
GET/admin/contact-messages/:messageId
PATCH/admin/contact-messages/:messageId

Frontend: /admin/contact-messages

Admin support tickets

MethodPath
GET/admin/support/tickets
GET/admin/support/tickets/:ticketId
PATCH/admin/support/tickets/:ticketId

Frontend: /admin/support/tickets

Mock email and notifications

  • New contact messages trigger MOCK email to SUPPORT_EMAIL
  • Ticket updates may create in-app notifications
  • No real SMTP required in development

Future improvements

  • CAPTCHA and rate limiting on public contact endpoint
  • File attachments on tickets
  • SLA automation

LaunchKit Pro by LaunchKit Labs — buyer documentation. No secrets in this site.