SimTX API v24/Public endpoints
The account service exposes a handful of public endpoints that need no credential. They serve service status, public profiles, transmitter releases and a simple network test. All are on https://auth.simtx.net; rate limits are listed on the account service page.
Service status[edit | edit source]
GET /api/v1/status
{ "status": "operational" }
The response indicates only that the account service process is up and answering. It says nothing about game servers; use the server directory for that. Not rate limited.
Public profiles[edit | edit source]
Every active account has a public profile consisting of its handle, display name, join date, public badges and visible awards. Nothing else about an account is public.
Profile search[edit | edit source]
GET /api/v1/profiles?q=text
| Parameter | Description |
|---|---|
q |
Case-insensitive substring matched against handles and display names. Optional; an empty query lists accounts alphabetically. |
Returns at most 24 profiles. An exact handle match is listed first, then the rest ordered by handle.
{
"profiles": [
{
"handle": "n0call",
"displayName": "Example Operator",
"joinedAt": "2026-08-20T09:12:44.100000Z",
"badges": [
{ "roleKey": "SUPPORTER", "label": "Supporter", "color": "#e0b04c" }
]
}
]
}
| Field | Type | Description |
|---|---|---|
handle |
string | Unique handle. Users may change it, at most once every 30 days. |
displayName |
string | Free-form display name. |
joinedAt |
string | Account creation time. |
badges |
array | Public role badges, sorted by label. |
badges[].roleKey |
string | Stable role identifier, for example SUPPORTER or MODERATOR.
|
badges[].label |
string | Text to display. |
badges[].color |
string | CSS colour for the badge, usually #rrggbb.
|
Single profile[edit | edit source]
GET /api/v1/profiles/{handle}
Returns the same fields as a search result plus awards. Unknown handles return 404 profile_not_found.
| Field | Type | Description |
|---|---|---|
awards[].awardId |
string (UUID) | Award definition. |
awards[].accountAwardId |
string (UUID) | This particular grant. |
awards[].slug |
string | Stable short identifier of the award. |
awards[].name |
string | Display name. |
awards[].description |
string | Description. |
awards[].iconUrl |
string | Icon image URL. May be empty. |
awards[].grantedAt |
string | When the award was granted. |
awards[].visible |
boolean | Whether the user shows it on their profile. Only visible awards are returned here. |
awards[].displayOrder |
integer | Order chosen by the user; lower first. |
awards[].revokedAt |
string or null | Always null for awards returned here. |
Releases[edit | edit source]
GET /api/v1/releases
Lists published releases of the official SimTX Transmitter, newest first.
{
"releases": [
{
"releaseId": "7edca7c6-97ca-4291-9691-3f0a5cd41a20",
"version": "0.3.7",
"title": "SimTX 0.3.7",
"notes": ["WFM now accepts baseband directly.", "Added rate selection up to 384 kHz."],
"downloadUrl": "/downloads/simtx-transmitter-0.3.7.jar",
"artifactFilename": "simtx-transmitter-0.3.7.jar",
"artifactSize": 8087129,
"artifactSha256": "8632bc25e1271146c8638c2780e4a6bdb40379d0dd7cae8f0631f8e16b5da69b",
"published": true,
"createdAt": "2026-09-14T19:37:41.639246Z",
"updatedAt": "2026-09-14T19:38:53.435832Z",
"publishedAt": "2026-09-14T19:37:41.639246Z"
}
]
}
| Field | Type | Description |
|---|---|---|
version |
string | Version number. |
title |
string | Release title. |
notes |
array of string | Change notes, one entry per item. |
downloadUrl |
string or null | Download location. A value starting with / is relative to https://auth.simtx.net; otherwise it is an absolute URL.
|
artifactFilename, artifactSize, artifactSha256 |
string, integer, string | File name, size in bytes and lowercase hex SHA-256 of the download. Verify the hash after downloading. |
published |
boolean | Always true here. |
createdAt, updatedAt, publishedAt |
string | Timestamps. |
Release downloads[edit | edit source]
GET /downloads/{filename} returns the stored file with Content-Disposition: attachment, an ETag equal to the quoted SHA-256, and Cache-Control: public, max-age=300. Unknown files return 404 release_artifact_not_found.
Update manifest[edit | edit source]
GET /downloads/transmitter-update.properties returns the newest downloadable release as a Java properties file (text/plain; charset=utf-8, cached for 60 seconds). The official transmitter uses it for update checks.
version=0.3.7
url=/downloads/simtx-transmitter-0.3.7.jar
sha256=8632bc25e1271146c8638c2780e4a6bdb40379d0dd7cae8f0631f8e16b5da69b
notes=WFM now accepts baseband directly. · Added rate selection up to 384 kHz.
The notes of the release are joined with · on a single line. Returns 404 release_manifest_unavailable when no release has a download.
Network test[edit | edit source]
Two endpoints let a client estimate latency and upload bandwidth to SimTX infrastructure. The SimTX website's network test uses them.
Latency probe[edit | edit source]
GET /api/v1/network-test/ping
{ "serverTimeMillis": 1793016000000 }
serverTimeMillis is the server's clock in Unix milliseconds. Measure the round-trip time on the client side. Rate limit: 60 per minute.
Upload probe[edit | edit source]
POST /api/v1/network-test/upload with Content-Type: application/octet-stream and a body of 1 byte to 1 MiB (1,048,576 bytes). The Content-Length header is required.
{ "receivedBytes": 1048576, "serverReadMillis": 412.7 }
| Field | Description |
|---|---|
receivedBytes |
Number of body bytes read. |
serverReadMillis |
Time the server spent reading the body, in milliseconds. |
Errors: 415 network_test_content_type for any other content type, 413 network_test_chunk_size for an empty, missing-length or oversized body. Rate limit: 144 per minute.