SS
Sales Seraph
Developer API

API Documentation

Integrate Sales Seraph directly into your CRM, dashboards, or internal tools. Everything you need to get started is right here.

Getting Started

Authentication

All API requests require a valid API key sent via the Authorization header. Keys are scoped per environment and can be rotated at any time from your dashboard.

API Key Generation

Navigate to Settings → API Keys in your dashboard to create a new key. Each key is tied to a single workspace and inherits its permission scope.

Rate Limiting

The default rate limit is 60 requests per minute per API key. Exceeding this returns a 429 Too Many Requests response with a Retry-After header.

Example request:

curl -X GET https://api.salesseraph.com/v1/calls \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
Endpoints

Available Endpoints

The core resources you can interact with through the Sales Seraph API.

GET/v1/calls

List all calls with pagination and filters

GET/v1/calls/:id/transcript

Retrieve the full transcript for a call

GET/v1/calls/:id/analysis

Get AI-generated analysis and scoring for a call

GET/v1/calls/:id/recording

Stream or download the call recording

GET/v1/metrics

Retrieve aggregated sales performance metrics

POST/v1/calls/:id/context

Push CRM context to enrich coaching prompts

POST/v1/calls/:id/followups

Generate AI-drafted follow-up emails

Webhooks

Real-Time Events

Subscribe to webhook events to keep your systems in sync without polling.

Available Events

Configure your webhook URL in Settings → Webhooks and select which events to receive.

call.started

Fires when a new coaching session begins

call.completed

Fires when a call ends and recordings are ready

analysis.ready

Fires when AI analysis for a call is available

transcript.ready

Fires when a call transcript has been processed

followup.generated

Fires when a follow-up email draft is created

Signature Verification

Every webhook request includes an X-Seraph-Signature header containing an HMAC-SHA256 digest. Verify it against your webhook secret to confirm the request originated from Sales Seraph.

// Verify webhook signature (Node.js)
const crypto = require("crypto");

const expected = crypto
  .createHmac("sha256", WEBHOOK_SECRET)
  .update(rawBody)
  .digest("hex");

if (signature === expected) {
  // Request is authentic
}
Example

Sample API Response

A typical response when retrieving a call object from the API.

GET /v1/calls/:id

Returns a single call object with metadata, scoring, and links to related resources.

{
  "id": "call_8f3a2b1c",
  "status": "completed",
  "created_at": "2026-02-21T14:32:00Z",
  "duration_seconds": 1847,
  "platform": "zoom",
  "participant": {
    "name": "Alex Morgan",
    "email": "alex@prospect.io",
    "company": "Prospect Inc."
  },
  "scoring": {
    "overall": 87,
    "rapport": 92,
    "discovery": 84,
    "objection_handling": 88,
    "closing": 79
  },
  "objections_detected": 3,
  "objections_handled": 3,
  "methodology": "SPIN",
  "links": {
    "transcript": "/v1/calls/call_8f3a2b1c/transcript",
    "analysis": "/v1/calls/call_8f3a2b1c/analysis",
    "recording": "/v1/calls/call_8f3a2b1c/recording",
    "followups": "/v1/calls/call_8f3a2b1c/followups"
  }
}
Limits

Rate Limits

Default quotas and how to request higher throughput for your integration.

PlanRate LimitBurstDaily Cap
Sales Taster60 req/min10 req/sec10,000 requests
Management120 req/min20 req/sec50,000 requests
EnterpriseCustomCustomUnlimited

Need higher limits? Contact our support team to discuss a custom rate plan for your integration.

Need API Access?

Get started with a Sales Taster account to generate your API key and begin building your integration today.

Get Started With Sales Taster