Skip to main content

Overview

The MedStrato API enables you to programmatically access and manage your medical device commercial operations data. Use it to:
  • Sync KOL data with your CRM or internal systems
  • Automate event workflows and attendee management
  • Trigger campaigns based on external events
  • Monitor regulatory signals and integrate with compliance tools
  • Export analytics for business intelligence

Base URL

All API requests should be made to:
https://api.getstrato.dev/v1

Authentication

The MedStrato API uses API keys for authentication. Include your API key in the Authorization header:
curl -X GET "https://api.getstrato.dev/v1/kols" \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json"
Keep your API keys secure. Do not expose them in client-side code or public repositories.

Obtaining API Keys

  1. Go to SettingsAPI Keys in your MedStrato dashboard
  2. Click Create API Key
  3. Copy the key immediately (it won’t be shown again)
  4. Set appropriate scopes for your use case

API Key Scopes

ScopeDescription
kols:readRead KOL profiles and insights
kols:writeCreate and update KOL records
events:readRead events and attendees
events:writeCreate and manage events
campaigns:readRead campaign data and analytics
campaigns:writeCreate and send campaigns
signals:readRead regulatory signals
products:readRead product catalog
products:writeManage products

Rate Limits

API requests are rate-limited based on your subscription plan:
PlanRequests per minuteRequests per day
Starter6010,000
Professional300100,000
Enterprise1,000Unlimited
Rate limit headers are included in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1699900000

Response Format

All responses are returned in JSON format with consistent structure:

Success Response

{
  "data": { ... },
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 150
  }
}

Error Response

{
  "error": {
    "code": "invalid_request",
    "message": "The 'email' field is required",
    "details": {
      "field": "email",
      "reason": "missing"
    }
  }
}

HTTP Status Codes

CodeDescription
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - Insufficient permissions
404Not Found
429Too Many Requests - Rate limited
500Internal Server Error

Pagination

List endpoints support pagination with these parameters:
ParameterDefaultDescription
page1Page number
per_page20Items per page (max 100)
sortvariesSort field
orderdescSort order (asc or desc)

Filtering

Most list endpoints support filtering:
GET /v1/kols?tier=tier_1&specialty=cardiology&engagement_level=high
Array filters use comma-separated values:
GET /v1/events?status=scheduled,active&event_type=advisory_board

Webhooks

MedStrato can send real-time notifications to your server when events occur. See the Webhooks documentation for setup instructions.

SDKs & Libraries

Need Help?