Base URL

text
https://api.geometry-labs.com

All endpoints are prefixed with /api. For example, the health check is at https://api.geometry-labs.com/api/health.

Availability by plan

PlanAPI access
FreeNo
BasicNo
ProYes
TeamYes

Quick start

  1. Log in and obtain a token (see Authentication).
  2. Check connectivity with the health endpoint.
  3. Start a conversion and poll for the result.
bash
# 1. Authenticate
TOKEN=$(curl -s -X POST https://api.geometry-labs.com/api/user/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password"}' | jq -r .token)

# 2. Start a conversion
JOB=$(curl -s -X POST https://api.geometry-labs.com/api/converter/convert \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@model.obj" \
  -F "inputFormat=obj" \
  -F "outputFormat=glb" | jq -r .id)

# 3. Poll until completed
curl -s "https://api.geometry-labs.com/api/converter/status/$JOB"

# 4. Download
curl -s "https://api.geometry-labs.com/api/converter/download/$JOB" | jq -r .downloadUrl

Errors

Errors return a consistent JSON envelope with a human-readable message:

json
{ "error": "Description of what went wrong" }
StatusMeaning
400Invalid request or parameters.
401Missing or invalid authentication.
403Daily quota reached, or feature not available on your plan.
404Resource not found.
413File exceeds the upload limit for your plan.
429Too many requests.
500Server error.

Next steps