Programmatic Access¶
iFlow exposes two surfaces for automation and integration: a command-line client (iflow) and an HTTP API. They cover the same underlying capabilities — pick based on the use case.
CLI vs API — which to use?¶
| Use case | CLI | API |
|---|---|---|
| Interactive use from a terminal | ✅ | — |
| Shell scripts, cron jobs, CI/CD | ✅ | also possible |
| Integration from another service (LIMS, instrument vendor) | — | ✅ |
| One-off file upload / download | ✅ | also possible |
| Bulk operations (many samples / orders) | ✅ (built-in) | possible (you assemble) |
| Custom UI / portal | — | ✅ |
| Production system-to-system | — | ✅ |
Rule of thumb: humans and scripts → CLI; other systems → API.
"Give me the curl command"¶
The CLI has a --curl flag on most commands that prints the equivalent curl invocation instead of executing. This is the fastest way to learn the API:
iflow samples list --project my-project --curl
# prints:
# curl -H "Authorization: Bearer $IFLOW_TOKEN" \
# https://api.iflow.intelliseq.com/api/v1/samples?project=my-project
Use this whenever the docs don't cover an endpoint you need — the CLI is the source of truth.
Sections¶
- CLI — installation, authentication, command reference.
- API — endpoint reference, authentication, error codes.
- LIS Integration — pre-built integration patterns for laboratory information systems.