Back to Help

API Documentation

Technical documentation for integrating with the IRB system

Authentication

All API requests require authentication

# Include your API key in the request header:

Authorization: Bearer YOUR_API_KEY

API keys can be generated from your organization settings. Keep your API keys secure and never share them publicly.

Base URL

https://irb.sova.health/api

All endpoints are relative to this base URL. Use HTTPS for all requests.

Endpoints

Studies

Manage research studies and protocols

GET/api/studiesList all studies
POST/api/studiesCreate a new study
GET/api/studies/:idGet study details
PUT/api/studies/:idUpdate a study
DELETE/api/studies/:idDelete a study

Submissions

Handle IRB submissions and reviews

GET/api/submissionsList all submissions
POST/api/submissionsCreate a new submission
GET/api/submissions/:idGet submission details
PUT/api/submissions/:id/statusUpdate submission status

Clinics

Manage participating clinical sites

GET/api/clinicsList all clinics
POST/api/clinicsRegister a new clinic
GET/api/clinics/:idGet clinic details
PUT/api/clinics/:idUpdate clinic information

Messages

Communication between IRB and clinics

GET/api/messagesList messages
POST/api/messagesSend a new message
GET/api/messages/:idGet message thread
POST/api/messages/:id/replyReply to a message

Adverse Events

Report and track adverse events

GET/api/adverse-eventsList adverse events
POST/api/adverse-eventsReport an adverse event
GET/api/adverse-events/:idGet event details
PUT/api/adverse-events/:idUpdate event status

Data Submissions

Research data submissions from clinics

GET/api/data-submissionsList data submissions
POST/api/data-submissionsSubmit research data
GET/api/data-submissions/:idGet submission details

Rate Limiting

API requests are rate limited to ensure fair usage and system stability:

  • Standard tier: 100 requests per minute
  • Enterprise tier: 1000 requests per minute
  • Rate limit headers are included in all responses

# Response headers:

X-RateLimit-Limit: 100

X-RateLimit-Remaining: 95

X-RateLimit-Reset: 1609459200

Webhooks

Receive real-time notifications for events

Configure webhooks to receive notifications when events occur in the system:

  • study.created - New study created
  • submission.status_changed - Submission status updated
  • adverse_event.reported - New adverse event reported
  • message.received - New message received

Need Help?

For API support or questions about integration: