Generating
Make a model a vehicle, or change its settings
Turns a model into a vehicle when it is not one yet (its geometry is untouched; converted says it happened), and saves vehicle when sent. Send nothing to convert only.
vehicle is the whole configuration, in the shape GET answers: read it, change what you want, send it back. Values out of range are corrected rather than refused, and the answer is what was stored, so read it rather than assuming. Seat positions are in the model's pixels, a seat at yaw 0 faces the way the vehicle drives, and one seat must be the driver's. A 3D item's model cannot be a vehicle. Free.
To animate the vehicle and its riders together, POST /packs/{pack}/vehicles/{model}/rig.
/packs/{pack}/vehicles/{model}Path parameters
packstringrequiredThe pack's slug, as returned by the packs endpoints.
modelstringrequiredThe model's name from the listing.
Body
vehicleobjectThe whole configuration: medium (land, water or air), speed, acceleration, turnSpeed, turnInPlace, weight, scale, jump, hitbox, flight, seats, animations (state to the model's animation name), sounds, capes, vehicleStatus and particles.
Response · 200
Saved. The vehicle as stored.
packstringrequiredThe pack.
modelstringrequiredThe vehicle's model name.
vehicleobjectrequiredThe whole configuration, the shape POST takes.
readybooleanrequiredWhether it can be ridden.
unfinishedReasonstringrequiredWhy it cannot be ridden yet, or null.
convertedbooleanTrue when this call made the model a vehicle. Absent otherwise.
Error codes
Branch on error.code, never on the message.
invalid_json400The request body wasn't a JSON object.
invalid_request400Something in the body or query is wrong. message says what.
invalid_api_key401The key isn't one of ours, or it has been revoked.
missing_api_key401No Authorization: Bearer header was sent.
wrong_key_kind401An MCP key sent to the REST API, or an API key sent to the MCP server. Each only opens its own.
account_suspended403The account is suspended, so its keys open nothing. message says until when, if the suspension has an end date.
forbidden403Valid key, but not permitted to do this in this pack.
plan_required403The key is valid, but its account is on Starter. The API needs a paid plan.
not_found404No such pack, asset or job.