Assetto Corsa Competizione Server Manager has a few read-only API endpoints available that can be used to read some data. API endpoint access can be controlled by the accounts permissions system.
Please note that to allow unauthenticated access to API endpoints, "Public Access" must be enabled in the accounts system.
The API is provided as-is, and may change with future releases of Server Manager. The developers of Server Manager do not provide a specific API promise/guarantee or API versioning, but will aim not to change or remove values unless absolutely necessary. Future updates to Server Manager may also add more data to these endpoints.
API endpoints are rate limited to a maximum of 5 requests per 20 seconds. You will receive a "Too Many Requests" error if you exceed the limit. We recommend that you do not request data from the API more than twice per minute.
This endpoint returns the standings for a given Championship.
GET /api/championship/{championshipID}/standings.json
Championships - Api Standings
Sample request: GET /api/championship/17bc8991-eaf5-4cb6-953c-0d4ec85a28a1/standings.json
Sample output:
{
"DriverStandings": {
"Am": [
{
"DriverName": "Literate Crow",
"DriverGUID": "00000000000000005",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 84,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Needed Worm",
"DriverGUID": "00000000000000012",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 46,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
}
],
"Pro": [
{
"DriverName": "Social Rat",
"DriverGUID": "00000000000000002",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 196,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Loyal Gelding",
"DriverGUID": "00000000000000008",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 72,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
}
],
"Silver": [
{
"DriverName": "Tough Filly",
"DriverGUID": "00000000000000001",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 145,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Worthy Monkey",
"DriverGUID": "00000000000000003",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 135,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Saved Ghost",
"DriverGUID": "00000000000000007",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 113,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Verified Lemming",
"DriverGUID": "00000000000000004",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 96,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Game Alien",
"DriverGUID": "00000000000000006",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 60,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Profound Moccasin",
"DriverGUID": "00000000000000011",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 20,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
},
{
"DriverName": "Keen Leech",
"DriverGUID": "00000000000000013",
"CarModel": "Porsche 991.2 GT3 Cup",
"IsPlayer": true,
"TeamPoints": {},
"Points": 18,
"PointsPenalty": 0,
"IgnoredEventIDs": {}
}
]
},
"TeamStandings": {
"Am": null,
"Pro": null,
"Silver": null
}
}
Lists the results files on the server, optionally matching a search query. This endpoint is paginated, so multiple requests may need to be made to retrieve all results files.
GET /api/results/list.json
Results - Api List
q
- search query, URL encoded. Syntax must match that of the search box on the results list page. Can be left blank, which returns all results, paginated.page
- page number, indexed from 0 (first page). The API response lists the number of pages, so you can paginate correctly.sort
- Sort type, either date
or relevance
. If left blank, date
is used.Sample request: GET /api/results/list.json?q=%2Bspa&sort=date&page=0
Sample output:
{
"num_pages": 4,
"current_page": 0,
"sort_type": "date",
"results": [
{
"track": "spa_2020",
"session_type": "FP",
"date": "2021-11-22T21:32:16Z",
"results_json_url": "/results/download/211122_213216_FP.json",
"results_page_url": "/results/211122_213216_FP"
},
{
"track": "spa_2020",
"session_type": "R",
"date": "2021-11-13T22:47:50Z",
"results_json_url": "/results/download/211113_224750_R.json",
"results_page_url": "/results/211113_224750_R"
},
{
"track": "spa_2020",
"session_type": "Q",
"date": "2021-11-13T20:34:55Z",
"results_json_url": "/results/download/211113_203455_Q.json",
"results_page_url": "/results/211113_203455_Q"
},
// etc...
]
}
This endpoint returns a full JSON output of the results file from the Assetto Corsa Competizione Server. To find results file names, use the Results List endpoint above.
GET /results/download/{filename}.json
Results - Download
Sample request: GET /results/download/211113_203455_Q.json
Sample output:
{
"laps": [
{
"carId": 1004,
"driverIndex": 0,
"isValidForBest": false,
"laptime": 588492,
"splits": [
488637,
62058,
37797
]
},
{
"carId": 1006,
"driverIndex": 0,
"isValidForBest": false,
"laptime": 1719036,
"splits": [
1619409,
62694,
36933
]
},
{
"carId": 1009,
"driverIndex": 0,
"isValidForBest": false,
"laptime": 2010262,
"splits": [
1910155,
62631,
37476
]
},
// etc...
]
// output truncated due to large amounts of data
// to find the full structure, make a request to your server and inspect the output.
}
This endpoint returns information about the machine running Server Manager, and a few other tools useful for debugging.
GET /healthcheck.json
Sample request: GET /healthcheck.json
Sample output:
{
"OK": true,
"Version": "v1.2.17",
"IsHosted": false,
"LicenseID": "XXXX-XXXX-XXXX-XXXX",
"OS": "linux/amd64",
"NumCPU": 10,
"NumGoroutines": 26,
"Uptime": "4m8.53507975s",
"GoVersion": "go1.21.6",
"Game": "Assetto Corsa Competizione",
"ServerName": "ACC Server Test",
"EventInProgress": false,
"MaxClientsOverride": 256,
"ServerDirectoryIsWritable": true
}