Vektra Docs

Reference

Developer API

Vektra documentation

Vektra API Documentation

Welcome to the Vektra Developer API — the official API for receiving and managing demo submissions through your own website or app.

---

Base URL

https://dashboard.vektra.games/api/v1

---

Authentication

All API requests must include your API key in the request headers.

X-API-Key: vk_your_key_here

Or as a Bearer token:

Authorization: Bearer vk_your_key_here

> Generate your API key from the Dashboard → Developer → API Keys tab.

---

Endpoints

GET /v1/submissions

Fetch demo submissions from your label's database.

Query Parameters:

ParameterTypeDefaultDescription
limitnumber20Max results (max: 100)
offsetnumber0Pagination offset

Example Request:

curl https://dashboard.vektra.games/api/v1/submissions \
  -H "X-API-Key: vk_your_key_here"

Example Response:

{
  "data": [
    {
      "id": 1,
      "track_title": "Midnight Drive",
      "artist_name": "DJ Nova",
      "genre": "House",
      "status": "In Queue",
      "created_at": "2026-07-20T10:00:00Z"
    }
  ],
  "limit": 20,
  "offset": 0
}

---

POST /v1/submissions

Submit a new demo from your website into your label's queue.

Request Body (JSON):

FieldTypeRequiredDescription
track_titlestringTrack title
artist_namestringArtist or band name
demo_urlstringDirect link to the demo (SoundCloud, Drive, etc.)
genrestringGenre (e.g. "House", "Trap")
notesstringExtra notes from the artist
emailstringArtist's email for status update notifications

Example Request:

curl -X POST https://dashboard.vektra.games/api/v1/submissions \
  -H "X-API-Key: vk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "track_title": "Midnight Drive",
    "artist_name": "DJ Nova",
    "demo_url": "https://soundcloud.com/djnova/midnight-drive",
    "genre": "House",
    "email": "djnova@example.com"
  }'

Example Response:

{
  "success": true,
  "submission_id": 42,
  "created_at": "2026-07-20T10:00:00Z"
}

> Tip: If you include an email, the artist will automatically receive email updates when your team approves or rejects their demo. They'll also get a one-time secure reply link.

---

GET /v1/analytics

Fetch chart-ready analytics for your label's submissions.

Example Request:

curl https://dashboard.vektra.games/api/v1/analytics \
  -H "X-API-Key: vk_your_key_here"

Example Response:

{
  "status_breakdown": [
    { "status": "In Queue", "count": "120" },
    { "status": "Approved", "count": "34" },
    { "status": "Rejected", "count": "89" }
  ],
  "rating_breakdown": [
    { "rating": 8, "count": "12" },
    { "rating": 9, "count": "7" }
  ],
  "recent_activity": [
    { "day": "2026-07-19T00:00:00Z", "count": "14" }
  ],
  "top_genres": [
    { "genre": "house", "count": "45" },
    { "genre": "trap", "count": "30" }
  ]
}

---

Email Notifications

When you approve or reject a submission from the Dashboard and the submission has an email field:

  1. Vektra first tries to DM the artist on Discord (if they are in your server).
  2. If they aren't in the server, Vektra sends a branded email from your label's reply address (configured in Dashboard → Developer → Domains).
  3. The email includes a one-time secure reply link — the artist can click it, type a response, and Vektra forwards that reply directly to your staff Discord channel.

---

Custom Domains

You can serve Vektra's submission portal from your own domain (e.g. demos.yourlabel.com).

  1. Add a CNAME record at your DNS provider:
  • Name: demos (or whatever subdomain you want)
  • Value: cname.vercel-dns.com
  1. Go to Dashboard → Developer → Custom Domain and enter your domain.
  1. Vektra will verify the DNS and provision an SSL certificate automatically.

Your free subdomain is also always available at yourlabelname.vektra.games.

---

Rate Limits

PlanRequests per minute
Pro60
Pro+300

---

Error Codes

StatusMeaning
401Missing API Key
403Invalid or expired API Key
400Missing required fields
409Conflict (e.g. domain already taken)
503Storage unavailable for this workspace
500Internal Server Error
Vektra Docs Built for labels, artists, and staff teams.
Ctrl I