Upload & Convert (legacy)
POST/api/geoconvert/convert/upload
Legacy alias of POST /api/geoconvert/convert/file. Both endpoints share the same pipeline, accept the same request fields, support the same any-to-any formats (including automatic unwrapping of a ZIP that holds a single convertible file), and count against the allowance identically. The only difference: this endpoint always populates the usage fields (remainingConversions, remainingBytes, newWalletBalanceCents), which /convert/file populates only when you pass includeWallet=true.
The endpoint remains supported for existing integrations; new integrations should call /convert/file.
Headers
X-API-Key(required for authentication)
Request (multipart/form-data)
Identical to /convert/file: file (required, any supported input format), outputFormat (optional target, case-insensitive), targetEpsg (optional, default 4326), sourceEpsg (optional; required for inputs that record no coordinate system, such as DXF). See that page for the full field reference and supported formats.
Response 200
Identical shape to /convert/file (including inputFormat, outputFormat, geometryType and truncationReport), with the usage fields always populated:
remainingConversions number | null
Conversions left in the plan's monthly allowance after this one; null on an account still spending legacy prepaid credit.
remainingBytes number | null
Input bytes left in the plan's monthly data allowance after this one; null on legacy credit.
newWalletBalanceCents number | null
Only for accounts still spending legacy prepaid credit: the balance in USD cents after the conversion. null on every plan.
curl -X POST https://cadshift.com/api/geoconvert/convert/upload -H "X-API-Key: $API_KEY" -F "[email protected]" -F "outputFormat=GeoPackage"{
"success": true,
"jobId": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"inputFormat": "geojson",
"outputFormat": "gpkg",
"downloadUrl": "https://...",
"downloadExpiresAt": "2026-01-01T00:00:00Z",
"featureCount": 120,
"geometryType": "LineString",
"processingTimeMs": 2500,
"outputSizeBytes": 6789,
"remainingConversions": 496,
"remainingBytes": 1072840448,
"newWalletBalanceCents": null,
"truncationReport": null
}- Previous
- API Reference
- Next
- Job Status (GET)