Email & Logs
Send test emails, view delivery logs, and resend failed emails. Emails use your own SMTP configuration.
Send Test Email
POST/email/test
const response = await fetch(BASE_URL + '/email/test', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
emailSettings: {
smtpHost: 'smtp.example.com',
smtpPort: 587,
smtpEncryption: 'tls',
smtpUsername: '[email protected]',
smtpPassword: 'password',
emailFromAddress: '[email protected]'
},
testRecipient: '[email protected]'
})
});Get Email Logs
GET/email/logs
const response = await fetch(BASE_URL + '/email/logs', {
headers: { 'Authorization': 'Bearer ' + accessToken }
});
// Returns up to 200 logs. Auto-purged after 30 days.Delete Email Log
DELETE/email/logs/:logId
const response = await fetch(BASE_URL + '/email/logs/log_123', {
method: 'DELETE',
headers: { 'Authorization': 'Bearer ' + accessToken }
});Resend Failed Email
POST/email/logs/:logId/resend
// Max 3 resend attempts per log entry
const response = await fetch(BASE_URL + '/email/logs/log_123/resend', {
method: 'POST',
headers: { 'Authorization': 'Bearer ' + accessToken }
});Bulk Delete Logs
POST/email/logs/bulk-delete
const response = await fetch(BASE_URL + '/email/logs/bulk-delete', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + accessToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({ logIds: ['log_1', 'log_2', 'log_3'] })
});Continue reading
API TokensGenerate, retrieve, and rotate API tokens for headless SDK access.Quote SubmissionsList and manage quote and contact-form submissions received from configurators.WebhooksRegister webhooks for quote.submitted, form.submitted, option.changed, and configuration.saved events.Augmented RealityExport USDZ, launch AR experiences, and read AR analytics.
