Order tuned ECU files from your own software
curl -X POST https://api.stagegen.ai/api/v1/orders \-H "Authorization: Bearer sg_live_4f9c…a21e" \-H "Content-Type: application/json" \-d '{"file_id": "3f6c2a9e-…", "services": ["stage_1"]}'
Send the read with your own external_ref. We identify the vehicle and ECU.
curl -X POST https://api.stagegen.ai/api/v1/files \-H "Authorization: Bearer $STAGEGEN_KEY" \-F file=@original.bin \-F external_ref=WS-26-0481
Pick services from the matched list. The order uses your plan first, then credits.
curl -X POST https://api.stagegen.ai/api/v1/orders \-H "Authorization: Bearer $STAGEGEN_KEY" \-H "Content-Type: application/json" \-d '{"file_id": "3f6c2a9e-8b1d-4c57-9e0a-5d2f7b4c1e88", "services": ["stage_1", "dpf_off"]}'
We POST order.completed to your URL. Download the file with the order_id.
X-StageGen-Signature: t=1791389292,v1=5f2b9c…{"event": "order.completed","file_id": "3f6c2a9e-8b1d-4c57-9e0a-5d2f7b4c1e88","order_id": "123180","external_ref": "WS-26-0481","status": "completed","sent_at": "2026-10-07T14:08:12Z"}
Send original ECU reads, each tagged with your own external_ref.
See the identified vehicle and ECU and the services you can order.
Order the same services at the same prices as in the cabinet.
Fetch the tuned file as soon as the order is completed.
Get file and order events on your server instead of polling.
Separate keys per integration, each with its own permissions. A revoked key stops working at once.
Every delivery carries an X-StageGen-Signature header. Check it with your signing secret before trusting the body.
Your files are only ever visible to your account.
The same way as orders in the cabinet: first from your plan allowance, then from credits. There is no separate fee for the API.
You get a file.no_match event. The file stays in your account, and you can request manual processing with POST /api/v1/files/{id}/manual-request. It's paid the same way as in the cabinet.
Yes, they depend on your plan: files in processing at a time, requests per minute, uploads without an order per day and active keys. Your current limits and usage are on the API page of your cabinet. Over a limit the API answers 409 (files at a time) or 429 (requests per minute, daily uploads).
Create a key in your account, then send your first file with the docs.