Documentation
The Shape API
One REST API. Every model. Authenticate with a bearer token, send JSON, get JSON back.
Authentication
All requests require a bearer token. Get one from the API keys page.
Authorization: Bearer sk-shape-...Keys are shown once at creation time. We only store a hash; if you lose a key, revoke it and create a new one.
Quickstart
The base URL is:
https://jointheshape.com/api/v1A minimal call looks like this:
curl https://jointheshape.com/api/v1/models/peptide-1/predict \
-H "Authorization: Bearer $SHAPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sequence":"MKWVTFISLLFLFSSAYS","task":"predict_binding","target":"GLP1R"}'In Python:
import os, requests
resp = requests.post(
"https://jointheshape.com/api/v1/models/peptide-1/predict",
headers={"Authorization": f"Bearer {os.environ['SHAPE_API_KEY']}"},
json={"sequence": "MKWVTFISLLFLFSSAYS", "task": "predict_binding", "target": "GLP1R"},
timeout=60,
)
print(resp.json())Errors
The API returns HTTP status codes and a JSON error envelope:
{ "error": { "type": "insufficient_credits", "message": "..." } }401 authentication_error— missing or invalid bearer token402 insufficient_credits— top up at /dashboard/billing404 model_not_found— wrong model id502 model_error— upstream model failure (credits refunded)503 model_unavailable— model not currently serving
Pricing
Each call is billed at a fixed per-call rate, deducted from your prepaid credit balance. Failed model calls are automatically refunded.
See the pricing page for current rates.
Peptide-1
De novo peptide design & property prediction
Peptide-1 generates and evaluates peptide sequences for binding affinity, stability, and therapeutic potential. Trained on curated protein-peptide interaction data.
Endpoint
POST /api/v1/models/peptide-1/predictRequest body
{
"sequence": "MKWVTFISLLFLFSSAYS",
"task": "predict_binding",
"target": "GLP1R"
}Response
{
"id": "sync-…",
"model": "peptide-1",
"output": {
"binding_affinity_kcal_mol": -8.7,
"stability_score": 0.82,
"properties": {
"hydrophobicity": 0.41,
"charge": -1
}
},
"usage": {
"cost_usd": 0.01,
"latency_ms": 1240
}
}