Send one measurement of a modpack — a load test from a server, a benchmark from a client
It carries what was loaded, what the machine is and what happened, and nothing that names anybody.
POST
/api/v1/perf/runs - Sign-in
- No scope
- Scope
- None
- MCP tool
perf.submit
Parameters
None.
Request body
| Field | Type and meaning |
|---|---|
kind required | string |
loader required | string |
loaderVersion | string |
machine required | object |
machine.cores | integer |
machine.cpu | string |
machine.flags | array of string |
machine.gc | string |
machine.gpu | string |
machine.heapMb | integer |
machine.java | string |
machine.os | string |
machine.ramMb | integer |
machine.storage | string |
machine.threads | integer |
minecraft required | string |
mods required | array of object |
mods[].file | string |
mods[].id required | string |
mods[].lateShare | number |
mods[].things | integer |
mods[].tickShare | number |
mods[].version | string |
numbers required | object |
numbers.allocatedMb | integer |
numbers.averageTickMs | number |
numbers.chunks | integer |
numbers.cpuBusiestPct | number |
numbers.emptyTickMs | number |
numbers.entities | integer |
numbers.gaveOut | string |
numbers.gcPauseMs | integer |
numbers.gcPauses | integer |
numbers.gpuPct | number |
numbers.heapMb | integer |
numbers.heapUsedMb | integer |
numbers.loadPerPlayer | integer |
numbers.loadVersion | integer |
numbers.lowFrameMs | number |
numbers.measureVersion | integer |
numbers.medianFrameMs | number |
numbers.msPerPlayer | number |
numbers.players | integer |
numbers.playersHeld | integer |
numbers.settings | string |
numbers.simulationDistance | integer |
numbers.spreadRadius | integer |
numbers.tickMs50 | number |
numbers.tickMs95 | number |
numbers.tickMs99 | number |
numbers.ticks | integer |
numbers.tps | number |
profile | object |
profile.instrument | string |
profile.lateTicks | integer |
profile.samples | integer |
seconds required | integer |
source required | string |
sourceVersion | string |
Response 201
| Field | Type and meaning |
|---|---|
fingerprint always | string |
page | string |
runs always | integer |
Errors
| Status | Type and meaning |
|---|---|
400 | The request was not understood. |
401 | Sign in and try again. |
404 | There is nothing here, or nothing you may see. |
429 | Too many requests. |
500 | Something on our side went wrong. |
Every error comes back as { code, message, requestId }. Errors