Developer Platform

Developer Hub

Build the future with our open APIs and SDKs. Integrate virtex into any stack in minutes.

System Status API v1.4.2
Get Started

Build in 3 Steps

From zero to your first API call in under 5 minutes.

  1. 1
    Create an Account

    Sign up for a virtex developer account and navigate to the API section.

  2. 2
    Generate Your API Key

    Create a new API key in the dashboard. Keep it secure — treat it like a password.

  3. 3
    Make Your First Call

    Use our SDKs or call the REST API directly. Check the console for a successful response.

typescript
import { VirtexClient } from '@virtex/sdk';

const client = new VirtexClient({ apiKey: 'vtx_live_51M...' });

// Create an invoice
const invoice = await client.invoices.create({
  customer: 'cus_123',
  amount: 2500,
  currency: 'usd',
  items: [{ description: 'Consulting Services', quantity: 5 }],
});

console.log(invoice.id); // inv_98765
Security

Authentication

All API requests are authenticated using API Keys passed in the Authorization header.

API Key: Passed as Bearer token in Authorization header.

TLS 1.3: All connections must use HTTPS. Plain HTTP is rejected.

Token Expiry: Keys do not expire but can be revoked at any time.

Get API Key
typescript
// Bearer token authentication
const response = await fetch('https://api.virtex.com/v1/invoices', {
  headers: {
    'Authorization': 'Bearer vtx_live_51M...',
    'Content-Type': 'application/json',
  },
});
REST API

Endpoints Reference

All endpoints are RESTful and return JSON. Base URL: https://api.jsl.technology/v1

GET/v1/invoicesList all invoices
POST/v1/invoicesCreate new invoice
GET/v1/customersList all customers
POST/v1/customersCreate new customer
GET/v1/productsList all products
DELETE/v1/invoices/{id}Delete an invoice

All write operations require the write:all scope.

Real-Time Events

Webhooks

Subscribe to real-time events from virtex. We'll POST a JSON payload to your endpoint.

  • invoice.paid
  • invoice.overdue
  • customer.created
  • payment.failed
  • product.updated
  • subscription.renewed
typescript
// Handle incoming webhooks
app.post('/webhooks/virtex', (req, res) => {
  const event = VirtexClient.constructEvent(
    req.body,
    req.headers['virtex-signature'],
    process.env.WEBHOOK_SECRET
  );

  switch (event.type) {
    case 'invoice.paid':
      console.log('Invoice paid:', event.data.id);
      break;
    case 'customer.created':
      syncToYourCRM(event.data);
      break;
  }
  res.sendStatus(200);
});
Client Libraries

Official SDKs

Our official libraries abstract authentication, retries, and error handling.

JavaScript / Node.js

@virtex/sdk
bash
npm install @virtex/sdk

Python

virtex-python
bash
pip install virtex

.NET / C#

Virtex.NET
bash
dotnet add package Virtex

Java

io.virtex:virtex-java
bash
maven: io.virtex:virtex-java

Rate Limits

Limits are per API key per minute.

  • Free: 60 req/min100 req/min
  • Pro: 600 req/min1000 req/min
  • Enterprise: UnlimitedUnlimited

Need Help?

Our developer support team is available Monday–Friday, 9am–6pm EST.

Start Building

Join Our Developer Community

Access documentation, SDKs, and support to integrate virtex into your stack.

Contact Us Now