Skip to Content
CadNic Docs
API ReferenceOverview

API Reference

CadNic provides a RESTful API for programmatic license management, update checks, and webhook integrations.

Base URL

All API endpoints are relative to:

https://cadnic.com/api/v1

Authentication

Most API endpoints require a license key in the request body or headers.

Header Authentication

X-SS-License: SS-XXXX-XXXX-XXXX-XXXX

Body Authentication

Include license_key in the request body for POST/PUT requests.

Rate Limiting

All public API endpoints are rate-limited:

Endpoint CategoryLimitWindow
License endpoints10 requests1 minute
Checkout30 requests1 minute
Waitlist3 requests1 minute

Rate limit headers are included in all responses:

X-RateLimit-Limit: 10 X-RateLimit-Remaining: 9 X-RateLimit-Reset: 1617235200

Response Format

Success Response

{ "success": true, "data": { ... } }

Error Response

{ "error": "ERROR_CODE", "message": "Human-readable error description" }

Common Error Codes

CodeStatusDescription
RATE_LIMIT429Too many requests
VALIDATION400Invalid input data
LICENSE401Invalid or expired license
NOT_FOUND404Resource not found
PAYMENT402Payment required or failed

Endpoints

Licenses

Updates

  • Check — Check for available updates

Webhooks

  • Stripe — Stripe payment events
  • Razorpay — Razorpay payment events

SDKs & Libraries

Official SDKs are in development. For now, use standard HTTP clients.

Example: cURL

curl -X POST https://cadnic.com/api/v1/licenses/activate \ -H "Content-Type: application/json" \ -d '{"license_key": "SS-XXXX-XXXX-XXXX-XXXX", "device_id": "abc123"}'

Example: JavaScript (Fetch)

const response = await fetch("https://cadnic.com/api/v1/licenses/activate", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ license_key: "SS-XXXX-XXXX-XXXX-XXXX", device_id: "abc123", }), }); const data = await response.json();