Push results straight
into your COAs
Any instrument that can make an HTTP request can write directly to AI Lab Services. No middleware, no CSV exports — results land in the right COA the moment the run finishes.
How it works
Generate an API key
Create a scoped key per instrument in Settings → API Keys. Optionally name it and assign a field-mapping template.
POST your results
Send a JSON payload with the sample ID and result rows. The platform maps your instrument's field names to AILS fields automatically.
Review in the COA
Results appear instantly on the matching COA draft. Your lab team reviews, applies action limits, and issues with a single click.
Quick start
Push a result in under a minute with any HTTP client.
curl -X POST https://api.ailabservices.com/api/ingest/results \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sampleId": "S-1001",
"results": [
{
"analyte": "THC",
"result": 22.4,
"unit": "%",
"method": "HPLC-UV",
"lod": 0.01,
"loq": 0.05
},
{
"analyte": "CBD",
"result": 0.12,
"unit": "%",
"method": "HPLC-UV",
"lod": 0.01,
"loq": 0.05
}
]
}'Full API documentation
Endpoint paths, field schemas, and mapping references are available inside the platform. Log in to your Instrument Hub to view the complete API reference.
Log in to view API docs →Authentication
Pass your API key as a Bearer token in the Authorization header. Keys are scoped to a single tenant and can be revoked at any time from the Instrument Hub.
Authorization: Bearer ails_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxKey rotation
Generate a new key without downtime — old key stays active until you revoke it.
Per-instrument scoping
One key per instrument so you can track usage and rotate independently.
Field mapping templates
Save a mapping once per key — every push auto-translates your instrument's field names.
Usage tracking
Last-used timestamp and total call count visible in the Instrument Hub.
Start pushing results today
Generate your first API key in under a minute. No separate developer account required.
