API Endpoints
Complete reference for all available API endpoints.
POST
/v1/validate
Upload and validate a 3D asset. Returns a job ID for tracking.
Request
Send a multipart/form-data request with the file:
curl -X POST https://meshqa.vercel.app/api/v1/validate \
-H "Authorization: Bearer mqk_your_api_key" \
-F "file=@model.glb" \
-F 'options={"engine": "unity"}'Parameters
| Name | Type | Description |
|---|---|---|
file * | File | The 3D asset file (ZIP, GLB, GLTF, or FBX) |
options | JSON | Optional validation settings |
Response
{
"job_id": "val_abc123def456",
"status": "queued",
"estimated_completion": "2024-01-15T10:30:00Z",
"status_url": "/api/v1/validate/val_abc123def456"
}GET
/v1/validate/{jobId}
Get the status and results of a validation job.
Request
curl https://meshqa.vercel.app/api/v1/validate/val_abc123def456 \
-H "Authorization: Bearer mqk_your_api_key"Response (Completed)
{
"job_id": "val_abc123def456",
"status": "completed",
"progress": 100,
"filename": "character.glb",
"health_score": 87,
"grade": "excellent",
"result": {
"meshes": [
{
"filename": "character.glb",
"vertexCount": 12500,
"triangleCount": 8400,
"materialCount": 3,
"usesPBR": true,
"animationCount": 5
}
],
"securityScan": {
"safe": true,
"scannedFiles": 1,
"warnings": []
}
}
}Status Values
| Status | Description |
|---|---|
queued | Job is waiting to be processed |
processing | Validation is in progress |
completed | Validation finished successfully |
failed | Validation failed due to an error |
GET
/v1/report/{jobId}/{format}
Get a validation report in various formats.
Formats
| Format | Content-Type | Description |
|---|---|---|
json | application/json | Full JSON report |
markdown | text/markdown | Human-readable markdown report |
badge | image/svg+xml | SVG badge for embedding |
Example
curl https://meshqa.vercel.app/api/v1/report/val_abc123/markdown \
-H "Authorization: Bearer mqk_your_api_key" \
-o report.md