API Integration

Submit Issue via API

Endpoint
POST https://issues.yadvin.tech/api/issues
Authentication

You must provide your Project API Key in the Authorization header using the Bearer token scheme. You can generate and view your API Keys on the Projects page.

Request Payload (multipart/form-data)

To support attachments, the endpoint expects multipart/form-data instead of JSON.

Field Type Description
title Text (Required) Short summary of the issue. Max 100 chars.
type Text (Required) One of: bug, feature, feedback.
description Text Detailed explanation or steps to reproduce.
email Text Email address of the user submitting the issue.
device Text Device info (e.g. "iPhone 13 Pro - iOS 16").
appVersion Text Your application version (e.g. "1.0.4").
attachments File[] Optional files (max 3). Images will be automatically compressed. Max 5MB per file.
Example Request (JavaScript / Fetch)
const formData = new FormData();
formData.append('title', 'App crashed on startup');
formData.append('type', 'bug');
formData.append('description', 'When I tap the sync button, the app closes immediately.');
formData.append('email', 'user@domain.com');
formData.append('device', 'Android 13');
formData.append('appVersion', '2.4.1');

// Append files (up to 3)
const fileInput = document.querySelector('input[type="file"]');
if (fileInput.files.length > 0) {
  for (let i = 0; i < Math.min(fileInput.files.length, 3); i++) {
    formData.append('attachments', fileInput.files[i]);
  }
}

const response = await fetch('https://issues.yadvin.tech/api/issues', {
  method: 'POST',
  headers: { 
    'Authorization': 'Bearer YOUR_PROJECT_API_KEY' 
    // Do NOT set Content-Type to application/json, fetch sets multipart/form-data automatically
  },
  body: formData
});

const result = await response.json();
console.log(result);