Get verified datasets for speech and accents from $0.59/clip
Back to Documentation

API Reference

Technical reference for VMX integration endpoints used for marketplace inquiries, newsletter subscriptions, and job applications.

15 min readUpdated Apr 2, 2025

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
}

3. Newsletter Subscribe Endpoint

`POST /api/newsletter/subscribe`

Request

{
  "email": "team@example.com",
  "source": "footer"
}

Success response

{
  "message": "Thanks for subscribing. Please check your inbox for a welcome email."
}

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, resumeFile

Success 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.