ReachLMS REST API

Backend API for Canvas LMS sub-account provisioning with Stripe billing integration.

Authentication: Most endpoints require a JWT Bearer token in the Authorization header. Authorization: Bearer <access_token>

Email

Endpoints for sending emails and support tickets.

Send Support Ticket

Submit a support ticket via email. Requires reCAPTCHA verification for unauthenticated users.

POST

Endpoint: /api/mailer/ticket

Authentication optional (authenticated users skip reCAPTCHA)

Request Body:

{
    "name": "John Doe",
    "email": "[email protected]",
    "subject": "Issue with my account",
    "message": "I'm having trouble accessing my Canvas sub-account...",
    "user": "[email protected]",
    "account": "Acme Corp Training",
    "sender": "support",
    "recaptchaToken": "03AGdBq24..."
}

Required Fields:

  • name - Sender's name
  • email - Sender's email address
  • subject - Ticket subject line
  • message - Ticket message body

Optional Fields:

  • user - Canvas user email (defaults to "Not specified")
  • account - Canvas sub-account name (defaults to "Not specified")
  • sender - Sender mailbox key (defaults to "support")
  • recaptchaToken - Required for unauthenticated requests

Success Response: 200

{
    "status": "success",
    "message": "Support ticket sent successfully from [email protected]"
}

Error Responses:

400 Missing required fields

{
    "error": "Missing required fields"
}

400 reCAPTCHA required (unauthenticated)

{
    "error": "reCAPTCHA token required"
}

400 reCAPTCHA failed

{
    "status": "error",
    "error": "reCAPTCHA verification failed"
}