API
Five endpoints. No SDK.
Submit a batch, poll it, download a CSV. curl is enough.
Authentication
Every request carries X-API-Key. Keys are per organisation and carry your
plan's monthly allowance.
Submit a batch
curl -X POST https://oneeda.net/v1/batches \
-H "X-API-Key: $KEY" -H "Content-Type: application/json" \
-d '{"label":"2026 sync library","tracks":[
{"filename":"0001.wav","url":"https://your-bucket/0001.wav"}
]}'
URLs may be presigned; we read each file once. Up to 5,000 tracks per request.
The response is 202.
List and progress
GET /v1/batches # every batch of yours
GET /v1/batches/{id} # progress and verdict counts
GET /v1/batches/{id}/tracks?filter=ai
GET /v1/usage # this month
Results
GET /v1/batches/{id}/results.csv
filename,sha256,verdict,grade,duration_sec,error
| Column | Meaning |
verdict | Exactly AI or Human |
grade | A — the file declares a generated origin, independently
verifiable. B — acoustic analysis only |
sha256 | Hash of the exact bytes we analysed |
error | Only for tracks we could not process. Never billed |
Report a false positive
POST /v1/reports {"batch_id":"…","filename":"…","note":"…"}
Errors
| Status | Meaning |
| 400 | Malformed body, or no usable track |
| 401 | Missing or unknown key |
| 404 | No such batch, or not yours |
| 413 | More than 5,000 tracks in one request |
| 429 | Monthly allowance exhausted |
Accuracy and the conditions it was measured under are on
Method and
Known limits. Read them before wiring this into an
automated takedown path.