Introduction
The Omics807 REST API provides programmatic access to multi-omics analysis, collaboration features, and organization management. All API endpoints return JSON responses and use standard HTTP status codes.
https://your-domain.replit.dev/api/v1
Key Features
- JWT-based authentication
- Multi-tenant organization support
- DNA variant analysis automation
- Single-cell RNA-seq processing
- Team collaboration & sharing
- Folder-based organization
Authentication
The Omics807 API uses JWT (JSON Web Tokens) for authentication. Include your token in the Authorization header of all requests.
Getting a JWT Token
Exchange Replit Auth credentials for a JWT access token.
curl -X POST https://your-domain.replit.dev/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{
"replit_user_id": "your-replit-user-id",
"email": "user@example.com"
}'
import requests
response = requests.post(
'https://your-domain.replit.dev/api/v1/auth/token',
json={
'replit_user_id': 'your-replit-user-id',
'email': 'user@example.com'
}
)
data = response.json()
token = data['access_token']
print(f"Token: {token}")
const response = await fetch('https://your-domain.replit.dev/api/v1/auth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
replit_user_id: 'your-replit-user-id',
email: 'user@example.com'
})
});
const data = await response.json();
const token = data.access_token;
console.log(`Token: ${token}`);
Using the Token
Include the JWT token in the Authorization header of all subsequent requests:
Authorization: Bearer YOUR_JWT_TOKEN
Error Handling
The API uses conventional HTTP response codes to indicate success or failure:
| Status Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 500 | Internal Server Error |
Error Response Format
{
"error": "Error message describing what went wrong",
"details": "Additional context (optional)"
}
Authentication Endpoints
Get information about the authenticated user.
curl https://your-domain.replit.dev/api/v1/me \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Analysis Endpoints
List all analyses in an organization with optional filtering.
| Parameter | Type | Description |
|---|---|---|
| type | string | Filter by analysis type: dna, scrna, multi |
| status | string | Filter by status: pending, running, completed, failed |
| limit | integer | Number of results (default: 50, max: 500) |
| offset | integer | Pagination offset |
Get detailed information about a specific analysis.
Create a new DNA variant analysis job.
Request Body
{
"name": "BRCA1 Analysis",
"vcf_url": "https://example.com/variants.vcf",
"sequencing_type": "WGS",
"reference_genome": "GRCh38",
"settings": {
"min_quality": 30,
"enable_oncokb": true
}
}
Create a new single-cell RNA-seq analysis job.
Create a multi-omics analysis by combining DNA and RNA analyses.
Delete an analysis. Only the owner or admins can delete analyses.
Folder Management
List all folders the user has access to.
Create a new folder for organizing analyses.
{
"name": "Breast Cancer Study",
"description": "Q1 2025 patient cohort",
"is_public": false
}
Get folder details including members and analyses.
Update folder name, description, or visibility.
Delete a folder. Only the owner can delete folders.
Add a member to a folder with specific role.
Remove a member from a folder.
Add an analysis to a folder.
Remove an analysis from a folder.
Organizations (Web API)
Organization management endpoints are available through the web API:
List all organizations the user is a member of.
Create a new organization.
Invite a member to the organization.