Map Operations

Retrieve a pre-signed S3 URL for file download

get

Generates a temporary, pre-signed URL for downloading a file from S3

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
keystringRequired

Unique identifier for the file

Example: 671b454e33d6dc761ca15156/6756c20336a9794c6effce42/Mesh/TexturedMesh.glb
Responses
200

Successfully generated pre-signed URL

application/json
urlstringRequired

Pre-signed S3 URL for file download

Example: https://amazonaws.com/671bX-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=%2Faws4_request&X-Amz-Date=20241658753a8c6380ad6d01c217e1ad978d88e2ba6a4&X-Amz-SignedHeaders=host&x-id=GetObject
get
/file

Generate a pre-signed S3 upload URL

post

Returns a pre-signed PUT URL the client can use to upload a file directly to S3. This is used to upload or update map mesh files (e.g. Mesh/TexturedMesh.glb).

The provided key must be scoped to the authenticated account — it must start with <accountId>/. The URL is valid for 1 hour from issuance; a slow upload that begins within that window will continue to completion even past the expiry.

After obtaining the URL, the client must perform an HTTP PUT to it with the file bytes as the request body, and the same Content-Type header that was sent in this request.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
keystringRequired

S3 object key. Must start with the caller's accountId. For map mesh updates, use the pattern <accountId>/<mapId>/Mesh/<filename>.

Example: 671b454e33d6dc761ca15156/6756c20336a9794c6effce42/Mesh/TexturedMesh.glb
contentTypestringOptional

Content-Type to bind into the signed URL. Defaults to application/zip if omitted. The client MUST send the same Content-Type header on the PUT.

Example: model/gltf-binary
Responses
200

Pre-signed upload URL generated successfully

application/json
urlstringRequired

Pre-signed S3 PUT URL (valid for 1 hour)

Example: https://s3.amazonaws.com/bucket/671b.../Mesh/TexturedMesh.glb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=...&X-Amz-Date=...&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=...
keystringRequired

The S3 key the file will be uploaded to

Example: 671b454e33d6dc761ca15156/6756c20336a9794c6effce42/Mesh/TexturedMesh.glb
post
/file/upload-url

Use /file/upload-url to upload or update map mesh files. The flow is:

  1. POST /file/upload-url with the target key (e.g. <accountId>/<mapId>/Mesh/TexturedMesh.glb) and the file's contentType.

  2. PUT the file bytes to the returned url with the same Content-Type header. The URL is valid for 1 hour.

Delete a VPS map by map code

delete

Permanently deletes a VPS map identified by its unique map code

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
mapCodestringRequired

The unique map code of the VPS map to delete

Example: map_abc123xyz
Responses
delete
/vps/map/{mapCode}

No content

Last updated

Was this helpful?