API

Read-mostly REST. No secrets in URLs.

Authentication is a bearer token in the Authorization header. Public endpoints work without a token; rate limits are tighter without one. Generate keys at /docs/keys.

# quickstart
npm install @peptide-md/verifier
curl https://peptidemd.io/api/export/peptides?format=ndjson \
-H 'authorization: Bearer pidx_<your-key>' \
| jq '.'

Verification

POST/api/import/pda
scope · import

Submit a PDA-V1 bundle. Runs the verifier and stores accepted bundles to the public imports list.

Body
PDA-V1 JSON
Example
curl -X POST https://peptidemd.io/api/import/pda \
  -H 'content-type: application/json' \
  -H 'authorization: Bearer pidx_<your-key>' \
  -d @bundle.json

Export

GET/api/export/peptides?format=csv|json|ndjson
scope · read

Snapshot of every indexed peptide with provenance, BioGate tier, posterior, IPNFT, RWE summary.

Example
curl https://peptidemd.io/api/export/peptides?format=csv \
  -H 'authorization: Bearer pidx_<your-key>' -o peptides.csv
GET/api/export/protocols?format=csv|json|ndjson
scope · read

Snapshot of curated protocols with practitioner level, jurisdiction gates, and RWE effect size.

Example
curl https://peptidemd.io/api/export/protocols?format=ndjson \
  -H 'authorization: Bearer pidx_<your-key>'
GET/api/export/cohorts?format=csv|json|ndjson
scope · read

All cohorts including DRAFT entries created via /cohorts/new. Includes commit hashes and revealed OEAs.

Example
curl https://peptidemd.io/api/export/cohorts?format=json
GET/api/export/imports?format=csv|json|ndjson
scope · read

Public list of accepted PDA-V1 imports with recomputed canonical hashes.

Example
curl https://peptidemd.io/api/export/imports?format=csv

Dossier

GET/api/dossier/[slug]?audience=researcher|clinician|patient|investor|regulator|cro|insurer|biohacker
scope · read

Server-rendered audience-typed PDF dossier signed under the seven-rule export gate.

Example
curl 'https://peptidemd.io/api/dossier/bpc-157?audience=clinician' -o bpc-157.pdf

Rate limits & versioning

  • · Public read endpoints: 60 requests / minute / IP.
  • · Authenticated read endpoints: 600 requests / minute / key.
  • · POST /api/import/pda: 30 requests / hour / key (regardless of scope).
  • · Dossier PDF: 30 / minute / key (each PDF is computed fresh).
  • · OpenAPI JSON: /api/openapi.json
  • · Versioning: paths are unversioned today (v0). Breaking changes will land on /api/v1/* with a 90-day notice on /changelog.