Quote Submissions
Submit and manage quote requests. Each submission captures the customer's form data, configuration selections, calculated pricing, and optional screenshot.
Submit a Quote (Public)
POST/projects/:id/quote-submissions
This endpoint can be used without authentication for public-facing configurators.
const response = await fetch(BASE_URL + '/projects/proj_123/quote-submissions', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
formData: {
name: 'Jane Smith',
email: '[email protected]',
phone: '+1 555 0123',
message: 'Interested in bulk pricing for 50 units.'
},
configuration: {
selections: {
dropdownSelections: { 'blk_frame': 'black', 'blk_wood': 'walnut' },
selectMaterialSelections: { 'blk_fabric': 'linen' },
checkboxSelections: { 'blk_accessories': ['cup-holder', 'monitor-stand'] },
toggleSwitchSelections: { 'blk_armrests': 'with' },
carouselSelections: {}
},
variables: { width: 160, quantity: 50 },
screenshotUrl: 'https://cdn.example.com/screenshots/config_abc.png'
}
})
});
const data = await response.json();
// {
// "success": true,
// "submission": {
// "id": "qs_123",
// "projectId": "proj_123",
// "status": "new",
// "customerName": "Jane Smith",
// "customerEmail": "[email protected]",
// "submittedAt": "2026-03-10T15:30:00Z"
// }
// }List Quote Submissions
GET/projects/:id/quote-submissions
const response = await fetch(BASE_URL + '/projects/proj_123/quote-submissions', {
headers: { 'Authorization': 'Bearer ' + accessToken }
});
const data = await response.json();
// {
// "success": true,
// "submissions": [
// {
// "id": "qs_123",
// "status": "new",
// "customerName": "Jane Smith",
// "customerEmail": "[email protected]",
// "formData": { ... },
// "configuration": { "selections": { ... }, "pricing": { "totalPrice": 1019.99 } },
// "submittedAt": "2026-03-10T15:30:00Z"
// }
// ]
// }Update Submission Status
PUT/projects/:id/quote-submissions/:submissionId
const response = await fetch(BASE_URL + '/projects/proj_123/quote-submissions/qs_123', {
method: 'PUT',
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
status: 'replied' // 'new' | 'viewed' | 'replied' | 'archived'
})
});Delete Submission
DELETE/projects/:id/quote-submissions/:submissionId
const response = await fetch(BASE_URL + '/projects/proj_123/quote-submissions/qs_123', {
method: 'DELETE',
headers: { 'Authorization': 'Bearer ' + accessToken }
});Continue reading
WebhooksRegister webhooks for quote.submitted, form.submitted, option.changed, and configuration.saved events.Augmented RealityUpload USDZ files, create AR handoff sessions, and read AR analytics.AI & Agent APIsAuthenticated endpoints for the AI Tool Layer, agent workflows, and MCP connections.ChangelogVersion history and notable changes to the Simplio3D API.
