1. Authentication and Headers
Current public-facing submission endpoints are designed for server-side handling in your VMX frontend. Requests should include JSON payloads or multipart form data as documented below.
- Use `Content-Type: application/json` for JSON endpoints.
- Use `multipart/form-data` for application submissions with file uploads.
- Always validate user input client-side and server-side.
2. Marketplace Inquiry Endpoint
`POST /api/marketplace/inquiry`
Request
{
"name": "Alex Johnson",
"company": "Nordic AI Labs",
"email": "alex@nordicai.com",
"selectedPackageIds": ["eng-accent", "multilingual-core"]
}Success response
{
"message": "Inquiry received. Our sales team will contact you shortly.",
"inquiryId": "INQ-20250401-123456",
"confirmationEmailSent": true
}4. Applications Endpoint
`POST /api/applications/submit`
Use multipart form data for applications when a resume file is included. Accepted resume formats are PDF, DOC, and DOCX, with a 5MB maximum file size.
Form fields
fullName, email, phone, company, position, availability,
accent, portfolioUrl, resumeUrl, coverLetter, resumeFileSuccess response
{
"message": "Application received. Our team will review it and contact you by email.",
"applicationId": "APP-20250401-654321",
"confirmationEmailSent": true
}5. Code Examples
Marketplace inquiry with fetch
const response = await fetch('/api/marketplace/inquiry', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'Alex Johnson',
company: 'Nordic AI Labs',
email: 'alex@nordicai.com',
selectedPackageIds: ['eng-accent'],
}),
});
const data = await response.json();Applications submit with FormData
const formData = new FormData();
formData.append('fullName', 'Jane Lee');
formData.append('email', 'jane@example.com');
formData.append('position', 'Backend Developer');
formData.append('coverLetter', 'I am excited to contribute...');
if (resumeFile) formData.append('resumeFile', resumeFile);
const response = await fetch('/api/applications/submit', {
method: 'POST',
body: formData,
});6. Release Notes
- 2025-04-02: Added applications submission endpoint with email receipts.
- 2025-03-30: Improved marketplace inquiry response payloads.
- 2025-03-27: Added newsletter source normalization and confirmation handling.
Frequently Asked Questions
Are these endpoints server-only?
They are intended to be called from your VMX web experience and server runtime, with validation and email workflows handled on the backend.
How do we handle API errors in UI?
Read the returned `message` field and show user-safe feedback. Keep raw error logs on the server side.