RidgeCRM Developer Docs

API Reference

Communications API

Email, telephony, CTI, tracking, and realtime event endpoints.

Email endpoints

POST /api/v1/email/send Bearer JWT + org

Send CRM email through the configured provider and optionally link it to records.

Request

POST /api/v1/email/send
Authorization: Bearer <jwt>
X-Organization-ID: <organization-id>
Content-Type: application/json

{
  "to": "buyer@example.com",
  "subject": "Proposal follow-up",
  "html": "<p>Thanks for your time today.</p>",
  "opportunityId": "opp_123"
}

Response

{
  "message": {
    "id": "email_123",
    "status": "SENT"
  }
}
GET /api/v1/email/track/{emailId}/click Public tracking

Redirect tracked links and record click engagement for outbound email.

Request

GET /api/v1/email/track/email_123/click?url=https%3A%2F%2Fexample.com

Response

302 Location: https://example.com

Telephony endpoints

GET /api/v1/telephony/token Bearer JWT + org

Return a browser calling token after Twilio Voice SDK support is installed and implemented.

Request

GET /api/v1/telephony/token
Authorization: Bearer <jwt>
X-Organization-ID: <organization-id>

Response

{
  "token": "twilio-browser-jwt",
  "identity": "agent-user_123"
}
POST /api/v1/telephony/incoming Twilio webhook

Receive inbound call webhooks, look up caller context, emit CTI events, and return TwiML.

Request

POST /api/v1/telephony/incoming
Content-Type: application/x-www-form-urlencoded

From=%2B15551234567&To=%2B15557654321&CallSid=CA123

Response

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>Connecting you now.</Say>
  <Dial timeout="30" action="/api/v1/telephony/status">
    <Client>agent</Client>
  </Dial>
</Response>