← Back to Docs

API Reference

Pro & Lab plans only. API access requires an active Pro or Lab subscription. Generate an API key in Settings.

Authentication

Include your API key in the request header:

Authorization: Bearer YOUR_API_KEY

Base URL

https://labprotocol.co/api/v1

Generate Protocol

POST /protocols/generate

Generate a new protocol based on technique and parameters.

Request Body

{
  "technique": "western_blot",
  "title": "My Western Blot Protocol",
  "description": "Detection of p53 in HeLa lysates",
  "parameters": {
    "target_protein": "p53 (53 kDa)",
    "sample_type": "HeLa cell lysate",
    "primary_antibody": "Mouse anti-p53 (DO-1), 1:1000",
    "detection_method": "ECL chemiluminescence",
    "gel_percentage": "10%"
  }
}

Response

{
  "data": {
    "id": "uuid",
    "title": "My Western Blot Protocol",
    "technique": "western_blot",
    "status": "completed",
    "materials": [...],
    "steps": [...],
    "timing": { "total_time_minutes": 480, ... },
    "troubleshooting": [...],
    "created_at": "2026-03-22T..."
  }
}

List Protocols

GET /protocols

Returns your saved protocols, most recent first.

Query Parameters

  • limit — Number of results (default: 20, max: 100)
  • offset — Pagination offset
  • technique — Filter by technique

Get Protocol

GET /protocols/:id

Returns a single protocol by ID.

Rate Limits

  • Pro: 60 requests/minute, unlimited generations
  • Lab: 120 requests/minute, unlimited generations

Rate limit headers are included in every response.

Supported Techniques

western_blot | pcr | elisa | cell_culture | cloning
transformation | transfection | ip_coip | chip | flow_cytometry

Error Codes

400 — Invalid request body or parameters

401 — Missing or invalid API key

403 — Feature not available on your plan

429 — Rate limit exceeded

500 — Internal server error