DPSAPI Reference

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_TOKEN

Roles

RoleDescription
clientStandard user with access to own projects
supervisorCan manage team projects
adminFull access to organization
superadminPlatform-level access

Errors

{ "code": 101, "error": "Invalid email or password" }
CodeMeaning
100Connection failed
101Object not found / invalid credentials
119Operation forbidden
137Unique value already exists
141Cloud function error
142Validation error
403Insufficient permissions
429Rate limit exceeded

Rate limiting

TierRequests / minute
Free60
Developer300
Professional1000
EnterpriseUnlimited

Headers on every response:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 295
X-RateLimit-Reset: 1704067200

Auth functions

FunctionPurpose
loginWithEmailAuthenticate user with email + password
registerUserCreate new user account
getCurrentUserGet authenticated user details
updateProfileUpdate profile fields
changePasswordChange password

Project management

FunctionPurposeAuth
dps_createProjectCreate new projectUser
dps_getProjectsList user’s projectsUser
dps_getProjectGet project detailsMember
dps_updateProjectUpdate project settingsMember
dps_deleteProjectDelete project (cascades)Owner

Organizations

FunctionAuth
createOrganizationUser
getOrganizationMember
updateOrganizationOwner/Admin
deleteOrganizationOwner
listOrganizationsUser
inviteMemberOwner/Admin
removeMemberOwner/Admin

Apps

FunctionAuth
createAppMember
getAppMember
updateAppMember
deleteAppOwner/Admin
listAppsMember

Checkout / payments (DPS-E)

The pipeline every consumer app uses:

FunctionPurpose
dps_checkout_createCreate a Paystack checkout session. Accepts flow: 'direct' | 'vendure', appId, storeId, amount or lineItems, customer, optional paystackPlanCode.
dps_checkout_verifyVerify a payment by reference. Used by thank-you pages.
dps_subscriptions_checkCheck whether email has an active subscription for appId. Powers auth gates (Duabaconnect).