HTTP API & integration

The VirtuOZ platform exposes a versioned JSON API under /api/v1/…, designed for the same expectations as institutional payment and custody workflows: explicit contracts, authenticated sessions, and auditable actions. Replace YOUR_HOST with your deployment hostname. The authoritative route table is the server router; OpenAPI documents a large subset of operations for tooling and review.

Support, helpdesk & automation

For integration questions, production access, webhooks, or bespoke automation, please contact us through the helpdesk: open a case from the Help center or write to support@evopay.biz. Authenticated clients may also create tickets via POST /api/v1/helpdesk/tickets.

We are ready to automate integration into your back-office, ERP, or marketplace: our team can assist with sandbox access, test data, error-handling patterns, and review of your compliance profile (AML/KYC) where required for go-live.

Documentation & discovery

Conventions

Operational & streaming

MethodPathNotes
GET/healthProcess liveness.
GET/readinessDependency readiness.
GET/metricsPrometheus metrics (often IP-restricted).
GET/api/v1/statusAPI status payload (JSON).
GET/api/v1/openapi.jsonOpenAPI document.
GET/api/v1/notifications/streamSSE stream of platform notifications (auth as per deployment policy).

Authentication & session

MethodPathNotes
POST/api/v1/auth/registerCreate account.
POST/api/v1/auth/loginObtain session / tokens.
POST/api/v1/auth/refreshRotate access token.
POST/api/v1/auth/logoutEnd current session.
POST/api/v1/auth/logout-allRevoke all sessions for user.
GET/api/v1/auth/sessionsList active sessions.
POST/api/v1/auth/sessions/{session_id}/revokeRevoke one session.
POST/api/v1/auth/mfa/enrollTOTP enrollment.
POST/api/v1/auth/mfa/verifyVerify TOTP.
POST/api/v1/auth/mfa/disableDisable TOTP.
POST/api/v1/auth/rbac-cache/invalidateInvalidate RBAC cache (privileged).
POST/api/v1/auth/i18n/reloadReload locale bundles (signed operator payload).
POST/api/v1/auth/readiness-policy/reloadReload readiness policy (signed).

Profile & wallet

MethodPathNotes
GET/api/v1/meCurrent user profile.
GET/api/v1/wallet/balancesBalances by currency.
GET/api/v1/wallet/activityLedger activity (query params for pagination).

Escrow & disputes

MethodPathNotes
POST/api/v1/escrowCreate escrow contract.
GET/api/v1/escrow/contractsList contracts for caller.
GET/api/v1/escrow/contracts/{escrow_id}Contract detail.
GET/api/v1/escrow/contracts/{escrow_id}/historyHistory / timeline.
POST/api/v1/escrow/{escrow_id}/fundFund escrow.
POST/api/v1/escrow/{escrow_id}/releaseRelease funds.
POST/api/v1/escrow/{escrow_id}/disputeOpen dispute.
POST/api/v1/escrow/{escrow_id}/dispute/evidenceUpload evidence (multipart).
GET/api/v1/escrow/{escrow_id}/dispute/evidenceList evidence files.
GET/api/v1/escrow/{escrow_id}/dispute/evidence/{file_id}Download evidence.
POST/api/v1/escrow/{escrow_id}/dispute/evidence/{file_id}/deleteDelete evidence file.
POST/api/v1/escrow/{escrow_id}/dispute/resolveResolve dispute.
POST/api/v1/escrow/{escrow_id}/dispute/rejectReject dispute.

Compliance

MethodPathNotes
POST/api/v1/compliance/reportsCreate compliance report.
GET/api/v1/compliance/reports/{jurisdiction}List reports for jurisdiction.
POST/api/v1/compliance/travel-ruleTravel Rule transfer upsert.
GET/api/v1/compliance/travel-rule/recentRecent Travel Rule transfers.

Published content (read)

MethodPathNotes
GET/api/v1/cms/legal/{slug}Published legal document JSON/HTML payload.
GET/api/v1/cms/helpList published help articles.
GET/api/v1/cms/help/{slug}Single help article.
GET/api/v1/cms/landing/{slug}Published landing page bundle.

Email templates (preview & test)

MethodPathNotes
POST/api/v1/cms/email/{slug}/previewRender preview (privileged).
POST/api/v1/cms/email/{slug}/test-sendSend test message (privileged).

Helpdesk

MethodPathNotes
POST/api/v1/helpdesk/ticketsCreate ticket.
GET/api/v1/helpdesk/ticketsList tickets (scoped to caller).
GET/api/v1/helpdesk/tickets/{ticket_id}Ticket detail.
POST/api/v1/helpdesk/tickets/{ticket_id}/internal-notesAdd internal note (staff).
POST/api/v1/helpdesk/tickets/{ticket_id}/context-linksAttach context link (staff).

Platform utilities

MethodPathNotes
POST/api/v1/platform/storage/shard-pathStorage path preview (operator tooling).
POST/api/v1/platform/cms/workflow/next-statusCMS workflow transition preview.
POST/api/v1/platform/helpdesk/slaSLA preview for tickets.
POST/api/v1/platform/i18n/messagei18n message resolution preview.

Crypto custody (platform)

MethodPathNotes
POST/api/v1/platform/crypto/scanner/ingestIngest scanner event.
POST/api/v1/platform/crypto/address/allocateAllocate deposit address.
POST/api/v1/platform/crypto/withdrawals/requestCreate withdrawal request.
POST/api/v1/platform/crypto/withdrawals/{withdrawal_id}/signSign withdrawal.
POST/api/v1/platform/crypto/withdrawals/{withdrawal_id}/rollbackRollback withdrawal.

Administration (RBAC)

The following prefixes are used for operator and back-office automation. All require appropriate administrative roles; do not expose these keys to end-user mobile clients.

Prefix / patternCapabilities
/api/v1/admin/events/replay/{aggregate_type}/{aggregate_id}POST — replay event projections.
/api/v1/admin/events/export/{aggregate_type}/{aggregate_id}GET — export audit event stream.
/api/v1/admin/users/api/v1/admin/users/{user_id}/role, /statusUser directory and lifecycle.
/api/v1/admin/kyc/queue, /api/v1/admin/kyc/{user_id}/decisionKYC queue and decisions.
/api/v1/admin/transactions/{tx_id}/flag, /resolve, /reconcileTransaction review.
/api/v1/admin/compliance/reportsCompliance reports (admin view).
/api/v1/admin/escrow/contractsEscrow contract oversight.
/api/v1/admin/cms/legal (+ /draft, /publish, /transition, /rollback)Legal CMS workflow.
/api/v1/admin/cms/help (+ /draft, /publish, /transition, /rollback)Help CMS workflow.
/api/v1/admin/cms/email (+ /draft, /publish, /transition, /rollback)Email template CMS.
/api/v1/admin/cms/landing (+ /draft, /publish, /transition, /rollback)Landing page CMS.
OpenAPI coverage. Many of the routes above appear in GET /api/v1/openapi.json with request/response schemas. If a path is missing from the document but present in this table, treat the deployed server as the source of truth and contact support@evopay.biz for clarification.

Examples

Register and login with cookie jar; then call authenticated routes.

json · request body
{
  "email": "user@example.com",
  "password": "YourStrongPassw0rd!",
  "display_name": "Demo User"
}
bash · register
curl -sS -X POST "https://YOUR_HOST/api/v1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "YourStrongPassw0rd!",
    "display_name": "Demo User"
  }'
bash · login
curl -sS -X POST "https://YOUR_HOST/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -c cookies.txt \
  -d '{
    "email": "user@example.com",
    "password": "YourStrongPassw0rd!"
  }'
bash · profile & wallet
curl -sS "https://YOUR_HOST/api/v1/me" -b cookies.txt

curl -sS "https://YOUR_HOST/api/v1/wallet/balances" -b cookies.txt

curl -sS "https://YOUR_HOST/api/v1/wallet/activity?limit=20" -b cookies.txt
bash · create escrow
curl -sS -X POST "https://YOUR_HOST/api/v1/escrow" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{
    "title": "Equipment delivery",
    "description": "Servers per specification",
    "amount": "8000.00",
    "currency": "USD"
  }'

Then replace ESCROW_ID:

bash · escrow lifecycle
curl -sS "https://YOUR_HOST/api/v1/escrow/contracts/ESCROW_ID" -b cookies.txt

curl -sS -X POST "https://YOUR_HOST/api/v1/escrow/ESCROW_ID/fund" \
  -H "Content-Type: application/json" -b cookies.txt -d '{}'

curl -sS -X POST "https://YOUR_HOST/api/v1/escrow/ESCROW_ID/release" \
  -H "Content-Type: application/json" -b cookies.txt -d '{}'
bash · status & readiness
curl -sS "https://YOUR_HOST/api/v1/status"
curl -sS "https://YOUR_HOST/readiness"