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 RealityExport USDZ, launch AR experiences, and read AR analytics.ChangelogVersion history and notable changes to the Simplio3D API.IntroductionOverview of the Simplio3D REST API — base URL, JSON conventions, JWT authentication, and a quick example request.
