Skip to content

Robots_PrepareRobotModelImport

POST
/v1/accounts/{account}/robots/{robot}/model:prepareImport
curl --request POST \
--url https://dev-api.qualiastudios.dev/v1/accounts/example/robots/example/model:prepareImport \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "name": "example", "filename": "example", "sizeBytes": "example" }'

Starts a model import: returns a short-lived signed URL to PUT the file to, and the object reference ImportRobotModel then takes. Nothing changes until the import.

account
required
string

The account id.

robot
required
string

The robot id.

Media type application/json

Request for Robots.PrepareRobotModelImport.

object
name
required

Accounts/{account}/robots/{robot}/model

string
filename
required

The file name it was picked as, e.g. “openarm_v20.urdf” or “rizon.zip”: the URDF alone, or a .zip of the URDF and its meshes (the package directory).

string
sizeBytes
required

Its size in bytes; at most 256 MiB (268435456), else INVALID_ARGUMENT. The bucket refuses uploads over 256 MiB, and ImportRobotModel refuses an upload whose stored size differs from this one.

string
Example generated
{
"name": "example",
"filename": "example",
"sizeBytes": "example"
}

OK

Media type application/json

Response for Robots.PrepareRobotModelImport.

object
uploadUri

Signed URL to PUT the file to, valid for 2 hours (the lifetime Supabase Storage fixes for signed upload URLs).

string
object

The object reference to pass to ImportRobotModel.

string
expireTime

When upload_uri stops working.

string format: date-time
Example generated
{
"uploadUri": "example",
"object": "example",
"expireTime": "2026-04-15T12:00:00Z"
}

Default error response

Media type application/json

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any
Example generated
{
"code": 1,
"message": "example",
"details": [
{
"@type": "example"
}
]
}