Message 1 of 7
Issue: HTTP 400 on Uploading Linked volumeMesh Element via /v2alpha/elements
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi Forma team,
We are building a Grasshopper–Forma integration using the REST API and encountering a persistent issue when trying to register a mesh element via POST /v2alpha/elements. Here's a breakdown of the issue and what’s been confirmed to work:
Working Steps
- Auth:
Using a valid 3-legged OAuth2 token with data:read and data:write scopes
→ This same token works to create proposals and query project data. - Step 1 – Get Upload Link:
GET /forma/integrate/v1alpha/upload-link?authcontext={project_id}
→ Returns a valid blobId and presigned S3 URL. - Step 2 – Upload Mesh to S3:
A JSON mesh payload is successfully uploaded via PUT to the provided S3 URL. No error is returned. - Step 3 – Register Mesh Element:
A POST is sent to:
https://developer.api.autodesk.com/forma/integrate/v2alpha/elements?authcontext={project_id}
→ This returns:
General Error: HTTP Error 400: Bad Request
- ...with no message in the response body.
Final Payload Sent to /v2alpha/elements
{ "rootElement": { "properties": { "name": "mesh001", "category": "building" }, "representations": { "volumeMesh": { "type": "linked", "blobId": "integrate:eyJzM0lkIjoiNmQ4ZjYwMTgtZjMxMC00ZmRkLWFjZmEtMmUwOTYwNWFkNzBjIn0=" } } } }
- category: "building" is documented as valid.
- The blobId is returned by Forma’s own upload-link call.
- volumeMesh with "type": "linked" follows the exact example format in the Forma API docs.
My Questions
- Is this payload structure still supported?
- Are there any undocumented constraints on category, representationType, or blobId?
- Does the linked mesh need to reference an existing proposal or base explicitly?
- Should I be using a different representation type?
Debug Data (From Script Output)
DEBUG Upload URL: https://integrate-api-payload-741408923162-eu-west-1-prod.s3... (truncated) DEBUG Blob ID: integrate:eyJzM0lkIjoiNmQ4ZjYwMTgtZjMxMC00ZmRkLWFjZmEtMmUwOTYwNWFkNzBjIn0= DEBUG Mesh Payload: {"mesh": {"key": "mesh001", "vertices": [[236.24, -180.76, 84.52], ... ]}} DEBUG Register URL: https://developer.api.autodesk.com/forma/integrate/v2alpha/elements?authcontext=pro_t8eh95fmlm DEBUG Headers: { "Authorization": "Bearer eyJhbGci... (truncated)", "X-Ads-Region": "EMEA", "Content-Type": "application/json" } DEBUG Final Element Payload: { "rootElement": { "properties": { "name": "mesh001", "category": "building" }, "representations": { "volumeMesh": { "type": "linked", "blobId": "integrate:eyJzM0lkIjoiNmQ4ZjYwMTgtZjMxMC00ZmRkLWFjZmEtMmUwOTYwNWFkNzBjIn0=" } } } }
Let me know if you need full response headers or a sample mesh payload for context.
Thanks so much in advance!