UDF Platform API v1.0
Base URL: https://api.udf.platform/v1
API Online
Authentication
POST
/api/auth/tokenPOST
/api/auth/refreshDELETE
/api/auth/sessionDevices
GET
/api/v1/devicesPOST
/api/v1/devices/enrollGET
/api/v1/devices/:idPOST
/api/v1/devices/:id/commandPOST
/api/v1/devices/:id/heartbeatLoans
GET
/api/v1/loansPOST
/api/v1/loansGET
/api/v1/loans/:idPOST
/api/v1/loans/:id/restructurePayments
POST
/api/v1/paymentsGET
/api/v1/paymentsPOST
/api/v1/webhooks/paymentRisk & AI
POST
/api/v1/risk/computeGET
/api/v1/risk/scoresGET
/api/v1/fraud/alertsTenants
GET
/api/v1/tenantsPOST
/api/v1/tenantsPATCH
/api/v1/tenants/:id/statusAuthentication
Include your API key in all requests:
Authorization: Bearer udf_your_key
JWT with RS256 signing
Refresh token rotation
Per-tenant API keys
Scope-based permissions
Rate Limits
Starter1,000 req/min
Growth10,000 req/min
Enterprise100,000 req/min
CustomUnlimited
SDK Distribution
🟨
JavaScript/TypeScript
npm install @udf/sdk🐍
Python
pip install udf-sdk🔵
Go
go get github.com/udf/sdk-go☕
Java
implementation 'com.udf:sdk:1.0.0'🤖
Android (Kotlin)
implementation 'com.udf:android-sdk:1.0.0'🍎
iOS (Swift)
pod 'UDFiOSSDK', '~> 1.0'Quick Start — JavaScript SDK
// Initialize UDF SDK
import { UDFClient } from '@udf/sdk';
const client = new UDFClient({
apiKey: 'udf_your_api_key_here',
tenantId: 'your-tenant-id',
region: 'ap-southeast-1',
});
// Enroll a device
const device = await client.devices.enroll({
serialNumber: 'SM-G998B-001',
platform: 'android',
imei: '123456789012345',
});
// Send lock command
await client.devices.sendCommand({
deviceId: device.id,
command: 'lock',
payload: { reason: 'payment_overdue' },
});
// Create a loan
const loan = await client.loans.create({
deviceId: device.id,
principalAmount: 850,
interestRate: 10,
termMonths: 12,
currency: 'USD',
amortizationType: 'reducing',
});
// Process payment
const payment = await client.payments.process({
loanId: loan.id,
amount: 93.50,
currency: 'USD',
provider: 'stripe',
});