API Reference
The DPS Platform API is built on Parse Server. All operations are Parse Cloud Functions — there are no REST endpoints for business logic.
- Base URL:
https://api.duabaforge.com/parse - Function endpoint:
POST /parse/functions/{functionName}
Making requests
cURL
curl -X POST \
https://api.duabaforge.com/parse/functions/loginWithEmail \
-H "X-Parse-Application-Id: YOUR_APP_ID" \
-H "X-Parse-Session-Token: YOUR_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com", "password": "password123"}'Parse JS SDK
import Parse from 'parse';
Parse.initialize('YOUR_APP_ID', 'YOUR_JS_KEY');
Parse.serverURL = 'https://api.duabaforge.com/parse';
const result = await Parse.Cloud.run('loginWithEmail', {
email: 'user@example.com',
password: 'password123',
});dps-client SDK
For subscription / event-registry calls, prefer the typed @duabalabs/dps-client over raw Parse.Cloud.run.
Authentication
Most functions require a session token:
X-Parse-Session-Token: YOUR_SESSION_TOKENRoles
| Role | Description |
|---|---|
client | Standard user with access to own projects |
supervisor | Can manage team projects |
admin | Full access to organization |
superadmin | Platform-level access |
Errors
{ "code": 101, "error": "Invalid email or password" }| Code | Meaning |
|---|---|
| 100 | Connection failed |
| 101 | Object not found / invalid credentials |
| 119 | Operation forbidden |
| 137 | Unique value already exists |
| 141 | Cloud function error |
| 142 | Validation error |
| 403 | Insufficient permissions |
| 429 | Rate limit exceeded |
Rate limiting
| Tier | Requests / minute |
|---|---|
| Free | 60 |
| Developer | 300 |
| Professional | 1000 |
| Enterprise | Unlimited |
Headers on every response:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 295
X-RateLimit-Reset: 1704067200Auth functions
| Function | Purpose |
|---|---|
loginWithEmail | Authenticate user with email + password |
registerUser | Create new user account |
getCurrentUser | Get authenticated user details |
updateProfile | Update profile fields |
changePassword | Change password |
Project management
| Function | Purpose | Auth |
|---|---|---|
dps_createProject | Create new project | User |
dps_getProjects | List user’s projects | User |
dps_getProject | Get project details | Member |
dps_updateProject | Update project settings | Member |
dps_deleteProject | Delete project (cascades) | Owner |
Organizations
| Function | Auth |
|---|---|
createOrganization | User |
getOrganization | Member |
updateOrganization | Owner/Admin |
deleteOrganization | Owner |
listOrganizations | User |
inviteMember | Owner/Admin |
removeMember | Owner/Admin |
Apps
| Function | Auth |
|---|---|
createApp | Member |
getApp | Member |
updateApp | Member |
deleteApp | Owner/Admin |
listApps | Member |
Checkout / payments (DPS-E)
The pipeline every consumer app uses:
| Function | Purpose |
|---|---|
dps_checkout_create | Create a Paystack checkout session. Accepts flow: 'direct' | 'vendure', appId, storeId, amount or lineItems, customer, optional paystackPlanCode. |
dps_checkout_verify | Verify a payment by reference. Used by thank-you pages. |
dps_subscriptions_check | Check whether email has an active subscription for appId. Powers auth gates (Duabaconnect). |