Maybe this reads clear:
GET /company/applications (schema CompanyApplicationsResponse)
spec says manual_labor is integer; API returns null (at /applications/*/player/stats/manual_labor);
spec says intelligence is integer; API returns null (at /applications/*/player/stats/intelligence);
spec says endurance is integer; API returns null (at /applications/*/player/stats/endurance):
{
"applications": [
{
"player": {
"stats": {
"manual_labor": null, // <-- spec says integer, API returns null
"intelligence": null, // <-- spec says integer, API returns null
"endurance": null // <-- spec says integer, API returns null
}
}
}
]
}
GET /torn/hof (schema TornHofResponse)
spec says value is string; API returns number (at /hof/*/value):
{
"hof": [
{
"id": 99177,
"username": "BodyBagger",
"value": 100 // <-- spec says string, API returns number
}
]
}
GET /user/equipment (schema UserEquipmentResponse)
spec says stats is object; API returns null (at /equipment/*/stats):
{
"equipment": [
{
"id": 392,
"name": "Pepper Spray",
"stats": null // <-- spec says object, API returns null
}
]
}
GET /user/missions (schema UserMissionsResponse)
spec allows only "Standard", "Hollow Point", "Piercing", "Tracer", "Incendiary" at /missions/rewards/*/details/type; API returns "Weapon":
{
"missions": {
"rewards": [
{
"details": {
"id": 232,
"name": "SIG 550",
"type": "Weapon", // <-- not one of the spec's allowed values
"sub_type": "Rifle"
}
}
]
}
}
GET /user/stocks (schema UserStocksResponse)
spec says increment is integer; API returns null (at /stocks/*/bonus/increment);
spec says progress is integer; API returns null (at /stocks/*/bonus/progress);
spec says frequency is integer; API returns null (at /stocks/*/bonus/frequency):
{
"stocks": [
{
"bonus": {
"available": false,
"increment": null, // <-- spec says integer, API returns null
"progress": null, // <-- spec says integer, API returns null
"frequency": null // <-- spec says integer, API returns null
}
}
]
}
Content-type mismatch (3 endpoints)
These return CSV while the spec documents an application/json response: GET /company/snapshot, GET /faction/snapshot, GET /user/snapshot. If CSV is intended, documenting text/csv in the spec would fix it.
Low priority — enum fields that also allow any string (23 endpoints)
Many fields are documented as oneOf: [, string], so every value matches both branches and the enum constrains nothing. Dropping the string branch (or the enum) would make these fields validatable. Endpoints: GET /company/employees, GET /company/{typeId}/companies, GET /company/profile, GET /company/lookup, GET /faction/members, GET /faction/lookup, GET /forum/lookup, GET /key/info, GET /market/{id}/auctionhouselisting, GET /market/auctionhouse, GET /market/{id}/itemmarket, GET /market/lookup, GET /property/lookup, GET /racing/lookup, GET /torn/lookup, GET /user/basic, GET /user/icons, GET /user/list, GET /user/personalstats, GET /user/profile, GET /user/properties, GET /user/skills, GET /user/lookup