API Documentation
Synthyra API
Welcome to the Synthyra API documentation. Our API enables you to analyze protein sequences, predict interactions, and manage your research workflow programmatically.
Quick Start Guide
1. Get your API key from the section below
2. Make your first API call using curl or Python
3. Monitor your job status
4. Download results when complete
Authentication
API Keys
Generate and manage your API keys here. All API requests require authentication using your API key as a query parameter.
API Keys
No API key exists. Generate one below:
API Reference
POST /v1/generate/ppi
Creates a PPI (Protein-Protein Interaction) job using CSV file input.
Parameters
Parameter | Type | Required | In | Description |
---|---|---|---|---|
api_key | string | Yes | query | Your API key for authentication |
file | file | Yes | form-data | CSV file with seqA and seqB columns |
name | string | No | form-data | Optional job name |
options | string | No | form-data | JSON array of analysis options |
Response
Example Usage
curl -X POST "https://api.synthyra.com/v1/generate/ppi?api_key=YOUR_API_KEY" \
-F "[email protected]" \
-F "name=My PPI Job" \
-F "options=[\"ppi\",\"affinity\"]"
import requests
files = {
'file': ('input.csv', open('input.csv', 'rb')),
}
data = {
'name': 'My PPI Job',
'options': '["ppi","affinity"]'
}
params = {
'api_key': 'YOUR_API_KEY'
}
response = requests.post(
'https://api.synthyra.com/v1/generate/ppi',
params=params,
files=files,
data=data
)
POST /v1/generate/annotation
Creates an Annotation job for protein property analysis using CSV input.
Parameters
Parameter | Type | Required | In | Description |
---|---|---|---|---|
api_key | string | Yes | query | Your API key for authentication |
file | file | Yes | form-data | CSV file with a single seq column |
name | string | No | form-data | Optional job name |
Response
Example Usage
curl -X POST "https://api.synthyra.com/v1/generate/annotation?api_key=YOUR_API_KEY" \
-F "[email protected]" \
-F "name=My Annotation Job"
import requests
files = {
'file': ('input.csv', open('input.csv', 'rb')),
}
data = {
'name': 'My Annotation Job'
}
params = {
'api_key': 'YOUR_API_KEY'
}
response = requests.post(
'https://api.synthyra.com/v1/generate/annotation',
params=params,
files=files,
data=data
)
POST /v1/generate/dsm
Creates a DSM (Diffusion Sequence Model) job for protein sequence generation using CSV file input.
Parameters
Parameter | Type | Required | In | Description |
---|---|---|---|---|
api_key | string | Yes | query | Your API key for authentication |
file | file | Yes | form-data | CSV file with seqA and seqB columns |
name | string | No | form-data | Optional job name |
Response
Example Usage
curl -X POST "https://api.synthyra.com/v1/generate/dsm?api_key=YOUR_API_KEY" \
-F "[email protected]" \
-F "name=My DSM Job"
import requests
files = {
'file': ('input.csv', open('input.csv', 'rb')),
}
data = {
'name': 'My DSM Job'
}
params = {
'api_key': 'YOUR_API_KEY'
}
response = requests.post(
'https://api.synthyra.com/v1/generate/dsm',
params=params,
files=files,
data=data
)
GET /v1/job
Get status of a specific job or download results if complete.
Parameters
Parameter | Type | Required | In | Description |
---|---|---|---|---|
job_id | string | Yes | query | ID of the job to check |
api_key | string | Yes | query | Your API key for authentication |
Response
Example Usage
curl "https://api.synthyra.com/v1/job?job_id=YOUR_JOB_ID&api_key=YOUR_API_KEY"
import requests
params = {
'job_id': 'YOUR_JOB_ID',
'api_key': 'YOUR_API_KEY'
}
response = requests.get(
'https://api.synthyra.com/v1/job',
params=params
)
GET /v1/jobs
Get all jobs for the authenticated user.
Parameters
Parameter | Type | Required | In | Description |
---|---|---|---|---|
api_key | string | Yes | query | Your API key for authentication |
Response
Example Usage
curl "https://api.synthyra.com/v1/jobs?api_key=YOUR_API_KEY"
import requests
params = {
'api_key': 'YOUR_API_KEY'
}
response = requests.get(
'https://api.synthyra.com/v1/jobs',
params=params
)
DELETE /v1/job
Delete a job and all its associated files. Only completed or failed jobs can be deleted.
Parameters
Parameter | Type | Required | In | Description |
---|---|---|---|---|
job_id | string | Yes | query | ID of the job to delete |
api_key | string | Yes | query | Your API key for authentication |
Response
Example Usage
curl -X DELETE "https://api.synthyra.com/v1/job?job_id=YOUR_JOB_ID&api_key=YOUR_API_KEY"
import requests
params = {
'job_id': 'YOUR_JOB_ID',
'api_key': 'YOUR_API_KEY'
}
response = requests.delete(
'https://api.synthyra.com/v1/job',
params=params
)