API reference.
Complete REST API reference for the Danipa Fintech Platform. Explore 675+ endpoints across 108 categories covering merchant APIs, payment links, invoices, analytics, remittance, wallets, KYC, and MTN MoMo integration.
Base URL
https://api.sandbox.danipa.com/ms
Sandbox · api.danipa.com at production launch
Authentication
Bearer JWT / Basic Auth
Spec Version
OpenAPI 3.1.0
V4 Lodging — Settings
Phase 1.3.8 — cancellation policy + default check-in/out times per merchant + environment.
2 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/lodging/settings | Get lodging settings |
| PUT | /v1/merchants/me/lodging/settings | Upsert lodging settings |
Rental Leads
Merchant-facing inbox for public-catalog quote requests.
5 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/rental-leads/{leadId}/dismiss | Mark a lead DISMISSED |
| POST | /v1/merchants/me/rental-leads/{leadId}/convert | Mark a lead CONVERTED, linking it to an existing agreement |
| GET | /v1/merchants/me/rental-leads | List leads for the current merchant |
| GET | /v1/merchants/me/rental-leads/{leadId} | Get a single lead by id |
| GET | /v1/merchants/me/rental-leads/unread-count | Unread count for the sidebar badge |
Merchant Wallet
A merchant's own operating balance and ledger
2 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/wallet/transactions/{currency} | Merchant operating ledger |
| GET | /v1/merchants/me/wallet/balances | Merchant operating balances |
Agent Profile
Current user's agent profile
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/agents/me | Get my agent profile |
Billing & Pricing
Pricing plans, subscriptions, and billing usage
17 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/subscription/upgrade | Upgrade subscription plan |
| POST | /v1/merchants/me/billing/portal | Open the Stripe Billing Portal |
| POST | /v1/merchants/me/billing/modules/{moduleKey}/subscribe | Subscribe a paid module (paid-enablement billing M2 card / M6 MoMo) |
| DELETE | /v1/merchants/me/billing/modules/{moduleKey}/subscribe | Cancel a card-subscribed module at period end (paid-enablement billing M4) |
| POST | /v1/merchants/me/billing/modules/{moduleKey}/momo/finalize | Finalize a MoMo module subscription (paid-enablement billing M6) |
| POST | /v1/merchants/me/billing/modules/content | Install the content module |
| DELETE | /v1/merchants/me/billing/modules/content | Uninstall the content module |
| POST | /v1/merchants/me/billing/checkout | Start a Stripe Checkout for plan upgrade |
| POST | /v1/merchants/me/billing/bundles/{bundleKey}/subscribe | Subscribe a bundle (paid-enablement billing M5) |
| DELETE | /v1/merchants/me/billing/bundles/{bundleKey}/subscribe | Cancel a bundle (paid-enablement billing M5) |
| GET | /v1/pricing-plans | List pricing plans |
| GET | /v1/pricing-plans/{name} | Get pricing plan by name + currency |
| GET | /v1/merchants/me/billing/usage | Get billing usage |
| GET | /v1/merchants/me/billing/plans | List pricing plans for the authenticated merchant |
| GET | /v1/merchants/me/billing/payment-methods | List the merchant's saved billing cards (paid-enablement billing M2b) |
| GET | /v1/merchants/me/billing/fee-preview | Preview transaction fee |
| GET | /v1/merchants/me/billing/bundles | List bundle SKUs for the authenticated merchant (paid-enablement billing M5) |
MFA
Multi-factor authentication — SMS OTP, TOTP, Passkeys
20 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/mfa/totp/verify | Verify & enable TOTP |
| POST | /v1/mfa/totp/setup | Setup TOTP |
| POST | /v1/mfa/totp/disable | Disable TOTP |
| POST | /v1/mfa/totp/authenticate | Authenticate with TOTP |
| POST | /v1/mfa/step-up/validate | Validate step-up token |
| POST | /v1/mfa/step-up/token | Issue step-up token |
| POST | /v1/mfa/step-up/check | Check if step-up auth is required |
| POST | /v1/mfa/sms/verify | Verify SMS OTP |
| POST | /v1/mfa/sms/send | Send SMS OTP |
| POST | /v1/mfa/sms/enable | Start SMS MFA enrollment |
| POST | /v1/mfa/sms/enable/verify | Verify & enable SMS MFA |
| POST | /v1/mfa/passkey/register/options | Get passkey registration options |
| POST | /v1/mfa/passkey/register/complete | Complete passkey registration |
| POST | /v1/mfa/passkey/authenticate/options | Get passkey authentication options |
| POST | /v1/mfa/passkey/authenticate/complete | Complete passkey authentication |
| POST | /v1/mfa/disable | Disable MFA |
| GET | /v1/mfa/settings | Get MFA settings |
| GET | /v1/mfa/required | Check if MFA is required |
| GET | /v1/mfa/passkeys | List registered passkeys |
| DELETE | /v1/mfa/passkeys/{id} | Delete a passkey |
Public Rentals
Customer-facing rental status (no auth).
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/rentals/{shortCode} | Get a rental agreement by short code (public) |
Rental Agreements
Rental MVP — quotes and bookings against rental assets.
7 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/rentals/agreements | List rental agreements |
| POST | /v1/merchants/me/rentals/agreements | Create a rental quote |
| POST | /v1/merchants/me/rentals/agreements/{agreementId}/return | Mark a rental agreement as returned |
| POST | /v1/merchants/me/rentals/agreements/{agreementId}/pickup | Mark a rental agreement as picked up |
| POST | /v1/merchants/me/rentals/agreements/{agreementId}/payment-link | Send a payment link for a rental agreement |
| GET | /v1/merchants/me/rentals/agreements/{agreementId} | Get rental agreement |
| GET | /v1/merchants/me/rentals/agreements/{agreementId}/agreement.pdf | Download a rental agreement as PDF |
Account Deletion (public)
Unauthenticated cancel endpoint for MFG-1 web cancel page
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/account-deletion/cancel-via-token | Cancel a scheduled account deletion via one-time URL token |
Rental Yards
§3.3 — physical locations where the merchant stocks rental inventory.
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/rentals/yards/{yardId} | Get a yard |
| PUT | /v1/merchants/me/rentals/yards/{yardId} | Update a yard (partial) |
| DELETE | /v1/merchants/me/rentals/yards/{yardId} | Deactivate a yard (soft-delete) |
| GET | /v1/merchants/me/rentals/yards | List yards (primary first) |
| POST | /v1/merchants/me/rentals/yards | Create a yard |
Rental Assets
Rental MVP — physical assets (generators, scaffolds, tools) available for rent.
10 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/rentals/assets/{assetId} | Get rental asset |
| PUT | /v1/merchants/me/rentals/assets/{assetId} | Update rental asset |
| DELETE | /v1/merchants/me/rentals/assets/{assetId} | Retire rental asset |
| GET | /v1/merchants/me/rentals/assets | List rental assets |
| POST | /v1/merchants/me/rentals/assets | Create rental asset |
| GET | /v1/merchants/me/rentals/assets/{assetId}/inspections | List inspections for an asset (newest first) |
| POST | /v1/merchants/me/rentals/assets/{assetId}/inspections | Record an asset inspection |
| GET | /v1/merchants/me/rentals/assets/{assetId}/utilization | Asset utilization KPI |
| GET | /v1/merchants/me/rentals/assets/{assetId}/inspections/latest | Get the latest inspection for an asset |
| GET | /v1/merchants/me/rentals/assets/{assetId}/bookings | List bookings for a single asset |
Merchant Branding
Logo, brand color, and receipt header/footer for merchant-facing surfaces.
2 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/branding | Get merchant branding |
| PUT | /v1/merchants/me/branding | Update merchant branding |
Remittance - MTN Mobile Money (MoMo) API
Remit funds to local recipients from the diaspora with ease. This API allows you to send money to local recipients in various countries, facilitating cross-border transactions seamlessly.
13 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/remittance/transfer | Transfers funds from the sender’s account to a recipient’s account using the MTN MoMo Remittance API. |
| POST | /v1/remittance/cash/transfer | Transfers funds from the owner’s account to a payee’s account using the MTN MoMo Remittance API. |
| POST | /v1/remittance/auth/oauth2/token | Create an access token for API authentication |
| POST | /v1/remittance/auth/oauth/token | Create an access token for API authentication |
| POST | /v1/remittance/auth/authorize | Authorize remittance consent for account holder |
| POST | /v1/remittance/account/{accountHolderMSISDN}/userinfo | Returns personal information of a remittance account holder by MSISDN. |
| POST | /v1/remittance/account/consent/userinfo | Claims consent from the remittance account holder for the requested scopes. |
| POST | /v1/remittance/account/999{accountHolderMSISDN}999/userinfo | Returns personal information of a remittance account holder by MSISDN. |
| GET | /v1/remittance/transfer/{referenceId}/status | Transfers funds from the owner’s account to a payee’s account using the MTN MoMo Remittance API. |
| GET | /v1/remittance/cash/transfer/{referenceId}/status | Get the status of a cash transfer using the X-Reference-Id. |
| GET | /v1/remittance/account/{currency}/balance | Get the remittance account balance in a specific currency. |
| GET | /v1/remittance/account/{accountHolderIdType}/{accountHolderId}/status | Checks if a remittance account holder is registered and active. |
| GET | /v1/remittance/account/balance | Get the current balance of the remittance account. |
Savings
Savings goals — create, deposit, withdraw, track progress
8 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/savings/goals | List savings goals |
| POST | /v1/savings/goals | Create savings goal |
| POST | /v1/savings/goals/{id}/withdraw | Withdraw from savings goal |
| POST | /v1/savings/goals/{id}/deposit | Deposit into savings goal |
| GET | /v1/savings/goals/{id} | Get savings goal |
| DELETE | /v1/savings/goals/{id} | Close savings goal |
| GET | /v1/savings/goals/{id}/transactions | List goal transactions |
| GET | /v1/savings/goals/{id}/progress | Get savings goal progress |
V3 Spa — Appointments
Phase 1 — slot search + book an appointment.
2 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/spa/appointments | |
| GET | /v1/merchants/me/spa/appointments/slots |
Accessibility
Accessibility preferences management
4 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/accessibility/preferences | Get accessibility preferences |
| PUT | /v1/accessibility/preferences | Update accessibility preferences |
| POST | /v1/accessibility/preferences/reset | Reset accessibility preferences to defaults |
| GET | /v1/accessibility/color-blind-modes | Get available color blind modes |
Public Spa Catalog
Public per-merchant spa / services catalog. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/{merchantSlug}/spa-catalog | Get public spa / services catalog by merchant slug |
Business Payroll
Bulk payment processing for businesses
16 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/payroll/templates/{templateId} | Update payroll template |
| DELETE | /v1/merchants/me/payroll/templates/{templateId} | Delete payroll template |
| GET | /v1/merchants/me/payroll | List payroll batches |
| POST | /v1/merchants/me/payroll | Create payroll batch |
| POST | /v1/merchants/me/payroll/{batchId}/retry | Retry failed items in payroll batch |
| POST | /v1/merchants/me/payroll/{batchId}/process | Process payroll batch |
| POST | /v1/merchants/me/payroll/upload | Upload CSV and create payroll batch |
| GET | /v1/merchants/me/payroll/templates | List payroll templates |
| POST | /v1/merchants/me/payroll/templates | Create payroll template |
| GET | /v1/merchants/me/payroll/schedules | List payroll schedules |
| POST | /v1/merchants/me/payroll/schedules | Create payroll schedule |
| GET | /v1/merchants/me/payroll/{batchId} | Get payroll batch details |
| GET | /v1/merchants/me/payroll/{batchId}/preview | Preview payroll batch double-entry breakdown |
| GET | /v1/merchants/me/payroll/{batchId}/failed | Get failed items in payroll batch |
| GET | /v1/merchants/me/payroll/{batchId}/failed/export.csv | Export failed items as CSV |
| DELETE | /v1/merchants/me/payroll/schedules/{scheduleId} | Cancel payroll schedule |
V3 Spa — Memberships
BE-7 — membership-plan catalog + subscribe.
6 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/spa/memberships/{id} | |
| PUT | /v1/merchants/me/spa/memberships/{id} | |
| DELETE | /v1/merchants/me/spa/memberships/{id} | |
| GET | /v1/merchants/me/spa/memberships | |
| POST | /v1/merchants/me/spa/memberships | |
| POST | /v1/merchants/me/spa/memberships/{id}/purchase |
Merchant Pay Domains
Merchant self-serve custom checkout domains (task #15). Attach → verify → set-primary lifecycle over merchant_pay_domain.
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/pay-domains | List the current merchant's custom checkout domains |
| POST | /v1/merchants/me/pay-domains | Attach a custom checkout domain |
| POST | /v1/merchants/me/pay-domains/{hostname}/verify | Poll verification + TLS |
| POST | /v1/merchants/me/pay-domains/{hostname}/primary | Elect this (verified) host as the canonical primary |
| DELETE | /v1/merchants/me/pay-domains/{hostname} | Detach a custom checkout domain |
Public Fan Signup
Public per-merchant fan-list signup. No authentication; throttled by IP and hCaptcha-guarded.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/fans | Subscribe to a fan list |
Payment Links
Create and manage shareable payment links
6 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/payment-links/{id} | Update payment link |
| DELETE | /v1/merchants/me/payment-links/{id} | Delete or deactivate payment link |
| POST | /v1/payment-links/{shortCode}/checkout | Checkout via payment link (public) |
| GET | /v1/merchants/me/payment-links | List payment links |
| POST | /v1/merchants/me/payment-links | Create payment link |
| GET | /v1/payment-links/{shortCode} | Get payment link details (public) |
Public Merchant Directory
Public opt-in merchant directory (slug, business name, city, storefront verticals) in one call. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/directory | List publicly discoverable merchants (directory) |
Disputes
File and track transaction disputes
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/disputes | List my disputes |
| POST | /v1/disputes | File a new dispute |
| POST | /v1/disputes/{disputeId}/escalate | Escalate dispute |
| POST | /v1/disputes/{disputeId}/comments | Add comment to dispute |
| GET | /v1/disputes/{disputeId} | Get dispute details |
Analytics
Merchant analytics and reporting
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/analytics | Get merchant analytics |
Rental Customer Rate Sheets
§2.6 — per-customer rate-card overrides for rental asset types. createQuote consults these before falling back to the type's default rates.
3 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/customers/{customerId}/rate-sheets | List rate sheets for a customer |
| POST | /v1/merchants/me/customers/{customerId}/rate-sheets | Upsert rate sheet for customer + asset type |
| DELETE | /v1/merchants/me/customers/{customerId}/rate-sheets/{rateSheetId} | Delete a rate sheet entry |
Public Pharmacy Order
Public per-merchant OTC pharmacy order placement + status. No authentication; hCaptcha-guarded write, IP rate-limited, priced server-side from pharmacy-service.
2 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/pharmacy/orders | Place a public OTC pharmacy order |
| GET | /v1/public/merchants/{merchantSlug}/pharmacy/orders/{shortCode} | Get a public OTC pharmacy order's status |
Payment Requests
Request money from other Danipa users
6 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/payment-requests | Create payment request |
| POST | /v1/payment-requests/{id}/reject | Reject payment request |
| POST | /v1/payment-requests/{id}/cancel | Cancel payment request |
| POST | /v1/payment-requests/{id}/accept | Accept payment request |
| GET | /v1/payment-requests/sent | Get sent payment requests |
| GET | /v1/payment-requests/received | Get received payment requests |
Subscriptions
Recurring billing — auto-create invoices on a cadence (weekly/monthly/quarterly/yearly)
6 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/subscriptions | List subscriptions |
| POST | /v1/merchants/me/subscriptions | Create subscription |
| POST | /v1/merchants/me/subscriptions/{subscriptionId}/resume | Resume subscription |
| POST | /v1/merchants/me/subscriptions/{subscriptionId}/pause | Pause subscription |
| POST | /v1/merchants/me/subscriptions/{subscriptionId}/cancel | Cancel subscription (terminal) |
| GET | /v1/merchants/me/subscriptions/{subscriptionId} | Get subscription by id |
Public Payment Status
Read-only payment status by opaque public reference. No auth; throttled per IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/payments/{publicRef}/status | Get a payment's status by its opaque public reference |
Pay Domain Resolve
Public host → merchant resolve for merchant-branded checkout custom domains.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/pay/resolve-domain | Resolve a custom checkout host to its owning merchant |
V3 Spa — Packages
BE-7 — prepaid package catalog + sale.
6 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/spa/packages/{id} | |
| PUT | /v1/merchants/me/spa/packages/{id} | |
| DELETE | /v1/merchants/me/spa/packages/{id} | |
| GET | /v1/merchants/me/spa/packages | |
| POST | /v1/merchants/me/spa/packages | |
| POST | /v1/merchants/me/spa/packages/{id}/purchase |
Team
Team member and invitation management
10 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/team/invites | List team invitations |
| POST | /v1/merchants/me/team/invites | Send team invitation |
| POST | /v1/merchants/me/team/invites/{inviteId}/resend | Resend team invitation |
| POST | /v1/merchants/me/team/invites/{inviteId}/extend | Extend team invitation expiry |
| POST | /v1/merchants/me/team/invites/decline | Decline team invitation |
| POST | /v1/merchants/me/team/invites/accept | Accept team invitation |
| GET | /v1/merchants/me/team/members | List team members |
| GET | /v1/merchants/me/team/invites/received | List invitations received by me |
| DELETE | /v1/merchants/me/team/members/{memberId} | Remove team member |
| DELETE | /v1/merchants/me/team/invites/{inviteId} | Cancel team invitation |
V3 Spa — Appointment operations
Phase 2 — list / detail + lifecycle (check-in, complete→invoice, cancel, no-show, reschedule).
7 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/spa/appointments/manage/{orderId}/reschedule | Reschedule appointment |
| POST | /v1/merchants/me/spa/appointments/manage/{orderId}/no-show | Mark no-show |
| POST | /v1/merchants/me/spa/appointments/manage/{orderId}/complete | Mark completed |
| POST | /v1/merchants/me/spa/appointments/manage/{orderId}/check-in | Mark checked in |
| POST | /v1/merchants/me/spa/appointments/manage/{orderId}/cancel | Cancel appointment |
| GET | /v1/merchants/me/spa/appointments/manage | List appointments |
| GET | /v1/merchants/me/spa/appointments/manage/{orderId} | Appointment detail |
V4 Lodging — Rooms
Phase 1.3.3 — physical bookable units belonging to a room_type.
5 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/lodging/rooms/{roomId} | Update a room (partial) |
| DELETE | /v1/merchants/me/lodging/rooms/{roomId} | Retire a room |
| GET | /v1/merchants/me/lodging/rooms | List rooms |
| POST | /v1/merchants/me/lodging/rooms | Create a single room |
| POST | /v1/merchants/me/lodging/rooms/bulk | Bulk-create rooms |
Merchant Refunds
Refund a merchant's own Stripe payments
2 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchant/payments/{transactionId}/refunds | List refunds for a payment |
| POST | /v1/merchant/payments/{transactionId}/refunds | Refund a Stripe payment (full or partial) |
Rental Booking Holds
§3.10 — short-lived reservations with TTL. Holds participate in collision detection alongside PAID/ACTIVE agreements; auto-expire past expiresAt.
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/rentals/holds | List booking holds for the current merchant + environment |
| POST | /v1/merchants/me/rentals/holds | Create booking hold |
| POST | /v1/merchants/me/rentals/holds/{holdId}/convert | Mark booking hold CONVERTED |
| GET | /v1/merchants/me/rentals/holds/{holdId} | Get booking hold |
| DELETE | /v1/merchants/me/rentals/holds/{holdId} | Release booking hold (no-op if already terminal) |
FX Quotes
Create and retrieve locked FX quotes for send money flow
2 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/fx/quotes | Create FX quote |
| GET | /v1/fx/quotes/{quoteId} | Get FX quote |
Agent Territories
Manage agent operating territories
6 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/admin/agent-territories/{territoryId}/agents/{agentId} | Assign agent to territory |
| GET | /v1/admin/agent-territories/{id} | Get territory by ID |
| PUT | /v1/admin/agent-territories/{id} | Update territory |
| DELETE | /v1/admin/agent-territories/{id} | Delete territory |
| GET | /v1/admin/agent-territories | List all territories |
| POST | /v1/admin/agent-territories | Create a new territory |
Merchant Capabilities
First-class capability flags (pharmacy / clinic) for the current merchant — see issue #1730.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/capabilities | Capability flags for the current merchant |
Statements
Merchant monthly statements
3 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/statements/monthly | Get monthly statement |
| GET | /v1/merchants/me/statements/monthly.pdf | Download monthly statement as PDF |
| GET | /v1/merchants/me/statements/monthly.csv | Download monthly statement as CSV |
Public Config
Public configuration endpoints for client apps
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/config/payout-methods/{countryCode} | Get payout methods for a country |
| GET | /v1/config/features | Get feature toggles |
| GET | /v1/config/currencies | List supported currencies |
| GET | /v1/config/countries | List active countries |
| GET | /v1/config/app | Get all app configuration |
Public Contract Sign
Anonymous e-signature by opaque sign token. No authentication; per-IP rate limited.
3 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/contracts/{signToken}/sign | Sign the contract |
| GET | /v1/public/contracts/{signToken} | View a contract by sign token |
| GET | /v1/public/contracts/{signToken}/document.pdf | Download the contract PDF by sign token |
Booking Earnings
Merchant earnings — per-currency roll-up of Danipa-processed + externally-recorded booking payments.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/earnings | Booking earnings |
Public Fan Unsubscribe
Public tokenized unsubscribe from a fan list. No authentication; IP-throttled.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/fans/unsubscribe | Unsubscribe via token |
Credit Score
Credit scoring — view score, history, factors, and eligibility
5 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/credit/score/recalculate | Recalculate credit score |
| GET | /v1/credit/score | Get credit score |
| GET | /v1/credit/score/history | Get score history |
| GET | /v1/credit/score/factors | Get scoring factors |
| GET | /v1/credit/eligibility | Get loan eligibility |
Rate Alerts
Currency rate alert management
3 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/notifications/rate-alerts | List rate alerts |
| POST | /v1/notifications/rate-alerts | Create rate alert |
| DELETE | /v1/notifications/rate-alerts/{alertId} | Delete rate alert |
Booking Inquiries
Merchant CRM — list / detail + status machine + notes timeline for booking inquiries.
9 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/inquiries/{orderId}/requote | Re-open for renegotiation (M2) |
| POST | /v1/merchants/me/inquiries/{orderId}/record-payment | Record an external payment (M2.5) |
| POST | /v1/merchants/me/inquiries/{orderId}/quote | Quote the inquiry (M2) |
| POST | /v1/merchants/me/inquiries/{orderId}/payments/{paymentId}/void | Void an external payment (M2.5) |
| POST | /v1/merchants/me/inquiries/{orderId}/notes | Add a note |
| POST | /v1/merchants/me/inquiries/{orderId}/balance-link | Issue the balance link (M2) |
| PATCH | /v1/merchants/me/inquiries/{orderId}/status | Update inquiry status |
| GET | /v1/merchants/me/inquiries | List inquiries |
| GET | /v1/merchants/me/inquiries/{orderId} | Inquiry detail |
V3 Spa — Resources & Schedules
Phase 1 — bookable resources (staff/rooms) + recurring working hours + time-off.
10 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/spa/resources/{resourceId} | |
| DELETE | /v1/merchants/me/spa/resources/{resourceId} | |
| GET | /v1/merchants/me/spa/resources | |
| POST | /v1/merchants/me/spa/resources | |
| GET | /v1/merchants/me/spa/resources/{resourceId}/schedule/rules | |
| POST | /v1/merchants/me/spa/resources/{resourceId}/schedule/rules | |
| GET | /v1/merchants/me/spa/resources/{resourceId}/schedule/overrides | |
| POST | /v1/merchants/me/spa/resources/{resourceId}/schedule/overrides | |
| DELETE | /v1/merchants/me/spa/resources/{resourceId}/schedule/rules/{ruleId} | |
| DELETE | /v1/merchants/me/spa/resources/{resourceId}/schedule/overrides/{overrideId} |
Point of Sale
POS sales, catalog, staff, and reporting
15 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/pos/staff/{staffId} | Update merchant staff |
| DELETE | /v1/pos/staff/{staffId} | Remove merchant staff |
| PUT | /v1/pos/catalog/{itemId} | Update catalog item |
| DELETE | /v1/pos/catalog/{itemId} | Delete catalog item |
| POST | /v1/pos/transactions/{id}/confirm | Confirm a QR code payment |
| GET | /v1/pos/staff | List merchant staff |
| POST | /v1/pos/staff | Add merchant staff |
| POST | /v1/pos/sale | Process a POS sale |
| POST | /v1/pos/refund | Process a POS refund |
| GET | /v1/pos/catalog | List catalog items |
| POST | /v1/pos/catalog | Create catalog item |
| GET | /v1/pos/users/search | Search users by email or name for staff assignment |
| GET | /v1/pos/transactions | List POS transactions |
| GET | /v1/pos/transactions/{txnId} | Get POS transaction details |
| GET | /v1/pos/reports/daily | Get daily POS report |
MoMo Pre-Approvals
MTN MoMo recurring-charge mandates: merchant-scoped create, list, sync, cancel
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/momo/preapprovals | List the merchant's mandates |
| POST | /v1/merchants/me/momo/preapprovals | Create a MoMo pre-approval mandate |
| POST | /v1/merchants/me/momo/preapprovals/{ourReferenceId}/sync | Force an immediate status sync |
| POST | /v1/merchants/me/momo/preapprovals/{ourReferenceId}/cancel | Cancel a mandate |
| POST | /v1/merchants/me/momo/preapprovals/sync-by-payer | Sync MTN's listing for a payer |
Localization
Language and locale management
9 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/localization/preferences/language | Update user language preference |
| PUT | /v1/admin/translations/{id} | Update a translation |
| DELETE | /v1/admin/translations/{id} | Delete a translation |
| POST | /v1/admin/translations | Create a translation |
| GET | /v1/localization/preferences | Get user locale preferences |
| GET | /v1/localization/messages/{language} | Get all messages for a language |
| GET | /v1/localization/messages/{language}/{category} | Get messages by category for a language |
| GET | /v1/localization/languages | Get supported languages |
| GET | /v1/admin/translations/{key} | Get all translations for a key |
Payment Methods
Manage saved payment methods for Stripe
8 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/payment-methods/default | Set default payment method |
| POST | /v1/payment-methods/sync | Sync payment methods |
| POST | /v1/payment-methods/setup-intent | Create setup intent |
| POST | /v1/payment-methods/paypal | Link PayPal account (legacy) |
| POST | /v1/payment-methods/paypal/setup | Create PayPal setup token |
| POST | /v1/payment-methods/paypal/confirm | Confirm PayPal setup |
| GET | /v1/payment-methods | List payment methods |
| DELETE | /v1/payment-methods/{paymentMethodId} | Remove payment method |
V4 Lodging — Room Rates
Phase 1.3.4 — seasonal rate overrides on room types.
4 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/lodging/room-rates/{rateId} | Update a seasonal rate (partial) |
| DELETE | /v1/merchants/me/lodging/room-rates/{rateId} | Delete a seasonal rate |
| GET | /v1/merchants/me/lodging/room-rates | List seasonal rates for a room type |
| POST | /v1/merchants/me/lodging/room-rates | Create a seasonal rate |
Disbursement - MTN Mobile Money (MoMo) API
APIs for initiating, authorizing, and managing MTN MoMo disbursement transactions to multiple recipients.
16 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v2/disbursement/deposit | Initiates a deposit from the owner’s account to a payee’s account using MTN MoMo. |
| POST | /v2/disbursement/refund | Initiates a refund for a previously completed disbursement transaction using the MTN MoMo API.Status of the transaction can be validated by using the GET /deposit/{referenceId} |
| POST | /v1/disbursement/transfer | Initiates a transfer from the application's account to a specified payee account. |
| POST | /v1/disbursement/refund | Initiates a refund for a previously completed disbursement transaction using the MTN MoMo API.Status of the transaction can be validated by using the GET /deposit/{referenceId} |
| POST | /v1/disbursement/refund/{referenceId}/status | Retrieves the status of a refund transaction using the provided X-Reference-Id. |
| POST | /v1/disbursement/deposit | Initiates a deposit from the owner’s account to a payee’s account using MTN MoMo. |
| POST | /v1/disbursement/deposit/{referenceId}/status | Initiates a deposit from the owner’s account to a payee’s account using MTN MoMo. |
| POST | /v1/disbursement/auth/oauth2/token | Claim consent for requested disbursement scopes |
| POST | /v1/disbursement/auth/oauth/token | Obtain OAuth access token for disbursement API |
| POST | /v1/disbursement/auth/authorize | Initiate consent authorization for disbursement |
| POST | /v1/disbursement/account/consent/userinfo | Claims consent from the disbursement account holder for the requested scopes. |
| GET | /v1/disbursement/transfer/{referenceId}/status | Transfers funds from the owner’s account to a payee’s account using the MTN MoMo Remittance API. |
| GET | /v1/disbursement/account/{currency}/balance | Retrieves the balance of the authenticated MTN MoMo disbursement account in a specified currency. |
| GET | /v1/disbursement/account/{accountHolderIdType}/{accountHolderId}/userinfo | Retrieves basic personal information of a specified MTN MoMo account holder without requiring their explicit consent. |
| GET | /v1/disbursement/account/{accountHolderIdType}/{accountHolderId}/status | Checks if a specified account holder is registered and active in the MTN MoMo system. |
| GET | /v1/disbursement/account/balance | Retrieves the current balance of the authenticated MTN MoMo disbursement account. |
Fan Segments
Targetable audiences over the owned fan list (Danipa Stage)
6 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/segments/{segmentId}/members/{fanId} | Add a fan to a MANUAL segment |
| DELETE | /v1/merchants/me/segments/{segmentId}/members/{fanId} | Remove a fan from a MANUAL segment |
| GET | /v1/merchants/me/segments | List segments |
| POST | /v1/merchants/me/segments | Create a segment |
| GET | /v1/merchants/me/segments/{segmentId} | Get a segment |
| GET | /v1/merchants/me/segments/{segmentId}/members | Preview segment members |
Receipts & Statements
Download transaction receipts and generate account statements
4 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/statements | List past statement requests |
| POST | /v1/statements | Request a new account statement |
| GET | /v1/statements/{statementId} | Download statement PDF or CSV |
| GET | /v1/receipts/{transactionId} | Download transaction receipt as PDF |
Ownership
Co-ownership operations (promote, step-down, transfer-primary, list owners)
4 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/team/members/{userId}/step-down | Step an owner down to manager |
| POST | /v1/merchants/me/team/members/{userId}/promote | Promote a member to owner |
| POST | /v1/merchants/me/owners/primary | Transfer the primary-owner designation |
| GET | /v1/merchants/me/owners | List owners |
Customers
Saved customer directory: contacts attached to invoices and payment links
7 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/customers/{customerId} | Get customer |
| PUT | /v1/merchants/me/customers/{customerId} | Update customer |
| DELETE | /v1/merchants/me/customers/{customerId} | Delete customer |
| GET | /v1/merchants/me/customers | List customers |
| POST | /v1/merchants/me/customers | Create customer |
| GET | /v1/merchants/me/customers/insights | Per-customer CRM insights (lifetime spend, open balance, last activity) |
| GET | /v1/merchants/me/customers/by-phone | Look up a customer by exact phone (E.164) |
Merchant Verticals
Per-merchant per-environment per-kind enabling toggle. See SELLABLE_ORDER_DESIGN_SPIKE_2026_05_12 §3.5.5.
2 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/verticals/{kind} | Enable / disable a kind for the current merchant |
| GET | /v1/merchants/me/verticals | List enabled kinds for the current merchant |
Public Rental Catalog
Public per-merchant catalog page. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/{merchantSlug}/rental-catalog | Get public rental catalog by merchant slug |
Recipients
Manage saved transfer recipients
4 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/recipients | List recipients |
| POST | /v1/recipients | Create recipient |
| DELETE | /v1/recipients/{id} | Delete recipient |
| PATCH | /v1/recipients/{id} | Update recipient |
Agent Operations
Agent banking operations: cash-in, cash-out, registration
11 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/agents/{agentId}/register-customer | Register a new customer via agent |
| POST | /v1/agents/{agentId}/float/topup | Top up agent float balance |
| POST | /v1/agents/{agentId}/cash-out | Cash-out: customer withdraws cash from agent |
| POST | /v1/agents/{agentId}/cash-in | Cash-in: customer deposits cash with agent |
| GET | /v1/agents/{agentId}/transactions | List agent transactions |
| GET | /v1/agents/{agentId}/performance | Get agent performance metrics |
| GET | /v1/agents/{agentId}/float/history | Get agent float transaction history |
| GET | /v1/agents/{agentId}/float/balance | Get agent float balance |
| GET | /v1/agents/{agentId}/dashboard | Get agent dashboard summary |
| GET | /v1/agents/{agentId}/commissions | Get agent commission summary for a date range |
| GET | /v1/agents/{agentId}/commissions/breakdown | Get commission breakdown |
Public Merchant Slug List
Public list of merchant slugs with public catalogs enabled. Sitemap source. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/slugs | List merchant slugs with public catalogs enabled |
Merchants
Merchant onboarding, API key management, and KYB verification
29 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/profile | Update business profile |
| GET | /v1/merchants/me/oauth-apps/{appId} | Get OAuth app |
| PUT | /v1/merchants/me/oauth-apps/{appId} | Update OAuth app |
| DELETE | /v1/merchants/me/oauth-apps/{appId} | Revoke OAuth app |
| POST | /v1/merchants | Register merchant |
| GET | /v1/merchants/me/verification | List KYB documents |
| POST | /v1/merchants/me/verification | Submit KYB document |
| POST | /v1/merchants/me/tos/accept | Accept Terms of Service |
| POST | /v1/merchants/me/reopen | Reopen a closed business |
| GET | /v1/merchants/me/oauth-apps | List OAuth apps |
| POST | /v1/merchants/me/oauth-apps | Register OAuth app |
| POST | /v1/merchants/me/oauth-apps/{appId}/rotate-secret | Rotate OAuth app secret |
| POST | /v1/merchants/me/notifications/{id}/read | Mark notification as read |
| POST | /v1/merchants/me/notifications/read-all | Mark all notifications as read |
| POST | /v1/merchants/me/close | Close (soft-delete) the business |
| GET | /v1/merchants/me/api-keys | List API keys |
| POST | /v1/merchants/me/api-keys | Create API key |
| POST | /v1/merchants/me/api-keys/{keyId}/rotate | Rotate API key |
| DELETE | /v1/merchants/me/api-keys/{keyId} | Revoke API key |
| PATCH | /v1/merchants/me/api-keys/{keyId} | Update API key |
| GET | /v1/merchants/verification/{docId}/view-url | Get KYB document view URL |
| GET | /v1/merchants/mine | List my merchant memberships |
| GET | /v1/merchants/me | Get merchant profile |
| GET | /v1/merchants/me/usage | Get usage analytics |
| GET | /v1/merchants/me/notifications | List in-app notifications |
| GET | /v1/merchants/me/notifications/unread-count | Unread notification count |
| GET | /v1/merchants/me/logs | List request logs |
| GET | /v1/merchants/me/logs/{correlationId} | Get request log detail |
| GET | /v1/merchants/me/audit | List merchant audit events |
Public Merchant Header
Public merchant brand + About/Contact header by slug. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/{merchantSlug}/header | Get a merchant's public brand + About/Contact header by slug |
Authentication
User registration and authentication
3 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/auth/resend-verification | Resend the email-verification message |
| POST | /v1/auth/register | Register a new user |
| POST | /v1/auth/forgot-password | Request password reset |
Collection - MTN Mobile Money (MoMo) API
Provides endpoints to initiate, authorize, and manage remote collection of payments, bills, fees, or taxes using MTN Mobile Money (MoMo), enabling secure and automated financial transactions between service providers and account holders.
23 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v2/collection/payment/withdraw | Enables merchants to initiate a withdrawal (cash-out) request from a consumer (payer) via the MTN MoMo platform. The payer must authorize the withdrawal before the transaction is executed. |
| POST | /v1/collection/preapproval | Creates a new pre-approval for future payment transactions. |
| POST | /v1/collection/payment | Enables merchants to initiate payment requests through the MTN MoMo partner gateway. |
| POST | /v1/collection/payment/{referenceId}/notification | Enables merchants to send a delivery notification to an end user regarding a payment request via the MTN MoMo platform. |
| POST | /v1/collection/payment/withdraw | Enables merchants to initiate a withdrawal (cash-out) request from a consumer (payer) via the MTN MoMo platform. The payer must authorize the withdrawal before the transaction is executed. |
| POST | /v1/collection/payment/request | Enables merchants to request a payment from a consumer (payer) via the MTN MoMo platform. The payer must authorize the payment, after which the transaction is executed. The payment request remains pending until authorized, declined, or timed out. Transaction status can be checked using the GET /requesttopay/{resourceId} endpoint. |
| POST | /v1/collection/invoice | Creates a new invoice for a payer to settle at a later time via any supported payment channel. |
| POST | /v1/collection/auth/oauth2/token | Claim consent for requested Collection scopes |
| POST | /v1/collection/auth/oauth/token | Obtain OAuth access token for Collection API |
| POST | /v1/collection/auth/authorize | This operation is used to claim a consent by the account holder for the requested scopes. |
| GET | /v1/collection/preapproval/{referenceId}/status | Retrieves the status of a pre-approval request using the provided X-Reference-Id. |
| GET | /v1/collection/payment/{X-Reference-Id}/status | Retrieves the status of a specific invoice using its X-Reference-Id. |
| GET | /v1/collection/payment/withdraw/{referenceId}/status | Retrieves the current status of a previously initiated withdrawal (cash-out) request using the provided reference ID. |
| GET | /v1/collection/payment/request/{referenceId}/status | Retrieves the current status of a previously initiated payment request using the provided reference ID. |
| GET | /v1/collection/invoice/{X-Reference-Id}/status | Retrieves the status of a specific invoice using its X-Reference-Id. |
| GET | /v1/collection/account/{currency}/balance | Retrieves the balance of the authenticated MTN MoMo collection account in a specified currency. |
| GET | /v1/collection/account/{accountHolderIdType}/{accountHolderId}/userinfo | Retrieves basic personal information of a specified MTN MoMo account holder without requiring their explicit consent. |
| GET | /v1/collection/account/{accountHolderIdType}/{accountHolderId}/status | Checks if a specified account holder is registered and active in the MTN MoMo system. |
| GET | /v1/collection/account/{accountHolderIdType}/{accountHolderId}/preapprovals | Retrieves the balance of the authenticated MTN MoMo collection account in a specified currency. |
| GET | /v1/collection/account/consent/userinfo | Claims user consent for specified scopes on the MTN MoMo collection account. |
| GET | /v1/collection/account/balance | Retrieves the current balance of the authenticated MTN MoMo collection account. |
| DELETE | /v1/collection/preapproval/{preApprovalId}/cancel | Cancels a pre-approval in approved state for which the requesting Account Holder is the payee. |
| DELETE | /v1/collection/invoice/{referenceId}/cancel | Cancels an existing invoice using its ReferenceId. |
Marketplace Connectors
OAuth install/callback for Shopify/WooCommerce/QBO/Xero connectors
4 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/connectors/{provider}/install | Begin a connector OAuth install |
| POST | /v1/connectors/me/{id}/disconnect | Disconnect (revoke) a connector — scrubs tokens from Vault |
| GET | /v1/connectors/{provider}/callback | Provider OAuth callback (public endpoint) |
| GET | /v1/connectors/me | List the merchant's connectors (current environment) |
Booking Inquiry Contracts
Merchant — generate/preview a contract, send for signature, track status, download PDFs.
6 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/inquiries/{orderId}/contract | Contract status + detail |
| POST | /v1/merchants/me/inquiries/{orderId}/contract | Generate (and optionally send) a contract |
| POST | /v1/merchants/me/inquiries/{orderId}/contract/void | Void the contract |
| GET | /v1/merchants/me/inquiries/{orderId}/contract/signed.pdf | Download the signed contract PDF |
| GET | /v1/merchants/me/inquiries/{orderId}/contract/preview | Preview a contract (no persistence) |
| GET | /v1/merchants/me/inquiries/{orderId}/contract/document.pdf | Download the unsigned contract PDF |
Merchant Vertical Requests
Request an admin-gated vertical (pharmacy/clinic) → admin-approval queue. ADR-0025.
3 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/vertical-requests | List the current merchant's vertical requests (newest first) |
| POST | /v1/merchants/me/vertical-requests | File a request for an admin-gated vertical |
| DELETE | /v1/merchants/me/vertical-requests/{id} | Withdraw a pending request |
Public Rental Quote Request
Public per-merchant quote-request submission. No authentication; throttled by IP + hCaptcha-guarded.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/rental-quote-requests | Submit a rental quote request |
Document Storage
Signed URL generation for KYC/KYB document uploads
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/storage/upload-url | Get upload URL |
Bill Payments
Airtime, data bundles, utilities, and scheduled bill payments
11 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/bills/saved/{billerId} | Update saved biller |
| DELETE | /v1/bills/saved/{billerId} | Delete saved biller |
| GET | /v1/bills/scheduled | List scheduled bill payments |
| POST | /v1/bills/scheduled | Create scheduled bill payment |
| GET | /v1/bills/saved | List saved billers |
| POST | /v1/bills/saved | Save a biller |
| POST | /v1/bills/pay | Pay a bill |
| GET | /v1/bills/providers | List bill providers |
| GET | /v1/bills/history | List bill payment history |
| GET | /v1/bills/history/{paymentId} | Get bill payment details |
| DELETE | /v1/bills/scheduled/{scheduleId} | Cancel scheduled bill payment |
V2 Restaurant — Orders
PR2 — place menu orders (item + variant + modifiers), tax/tip, and the PLACED→ACCEPTED→IN_PREP→READY→COMPLETED prep-status machine.
4 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/restaurant/orders | List menu orders (order board) |
| POST | /v1/merchants/me/restaurant/orders | Place a menu order |
| POST | /v1/merchants/me/restaurant/orders/{orderId}/transitions | Advance a menu order's prep-status |
| GET | /v1/merchants/me/restaurant/orders/{orderId} | Get a menu order |
Engagement Calendar
Merchant calendar — schedule / release a booking inquiry's engagement date and read the calendar.
3 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/inquiries/{orderId}/schedule | Schedule an engagement date |
| DELETE | /v1/merchants/me/inquiries/{orderId}/schedule | Release the engagement date |
| GET | /v1/merchants/me/calendar | Read the calendar |
Payouts
Merchant payout estimates, history, destinations, and schedule
10 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/payout-schedule | List payout schedules (one per currency) |
| PUT | /v1/merchants/me/payout-schedule | Create or update the payout schedule for a currency |
| PUT | /v1/merchants/me/payout-accounts/{id} | Edit a payout destination (step-up) |
| DELETE | /v1/merchants/me/payout-accounts/{id} | Delete a payout destination (step-up) |
| POST | /v1/merchants/me/payouts/execute | Execute a payout now (step-up) |
| GET | /v1/merchants/me/payout-accounts | List payout destinations |
| POST | /v1/merchants/me/payout-accounts | Add a payout destination (step-up) |
| POST | /v1/merchants/me/payout-accounts/{id}/make-default | Set a payout destination as default for its currency (step-up) |
| GET | /v1/merchants/me/payouts | List historical payout buckets |
| GET | /v1/merchants/me/payouts/estimate | Get next-payout estimates |
Merchant Payments
List a merchant's payment transactions
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchant/payments | List the merchant's payment transactions (newest first) |
Invoices
Create, manage, and send invoices with auto-generated payment links
10 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/invoices/{invoiceId} | Get invoice |
| PUT | /v1/merchants/me/invoices/{invoiceId} | Update draft invoice |
| GET | /v1/merchants/me/invoices | List invoices |
| POST | /v1/merchants/me/invoices | Create invoice |
| POST | /v1/merchants/me/invoices/{invoiceId}/void | Void invoice |
| POST | /v1/merchants/me/invoices/{invoiceId}/send | Send invoice |
| POST | /v1/merchants/me/invoices/{invoiceId}/record-payment | Record offline payment |
| POST | /v1/merchants/me/invoices/bulk | Bulk import invoices |
| GET | /v1/merchants/me/invoices/{invoiceId}/pdf | Download invoice PDF |
| GET | /v1/merchants/me/invoices/stats | Invoice stats |
Commission Tiers
Manage volume-based commission rate tiers
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/admin/commission-tiers/{id} | Get commission tier by ID |
| PUT | /v1/admin/commission-tiers/{id} | Update commission tier |
| DELETE | /v1/admin/commission-tiers/{id} | Delete commission tier |
| GET | /v1/admin/commission-tiers | List all commission tiers |
| POST | /v1/admin/commission-tiers | Create a new commission tier |
Public Lodging Catalog
Public per-merchant lodging catalog. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/{merchantSlug}/lodging-catalog | Get public lodging catalog by merchant slug |
Webhooks
Register and manage merchant webhook endpoints and view delivery history
9 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/webhooks/{endpointId} | Update webhook endpoint |
| DELETE | /v1/merchants/me/webhooks/{endpointId} | Delete (disable) webhook endpoint |
| GET | /v1/merchants/me/webhooks | List webhook endpoints |
| POST | /v1/merchants/me/webhooks | Register webhook endpoint |
| POST | /v1/merchants/me/webhooks/{endpointId}/test | Send test webhook |
| POST | /v1/merchants/me/webhooks/{endpointId}/rotate-secret | Rotate endpoint secret |
| POST | /v1/merchants/me/webhooks/{endpointId}/deliveries/{deliveryId}/replay | Replay a webhook delivery (M1.3) |
| GET | /v1/merchants/me/webhooks/{endpointId}/secret | Get endpoint secret |
| GET | /v1/merchants/me/webhooks/{endpointId}/deliveries | List deliveries for endpoint |
Wallet
Digital wallet — creation, balances, currency accounts
16 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/wallets | Create wallet |
| POST | /v1/wallets/me/transfer | P2P transfer |
| POST | /v1/wallets/me/stripe-onboarding-link | Mint Stripe Hosted Onboarding link |
| POST | /v1/wallets/me/refund | Request refund |
| POST | /v1/wallets/me/fund-in | Fund wallet via MoMo |
| POST | /v1/wallets/me/fund-in/{fundInId}/confirm | Confirm fund-in payment |
| POST | /v1/wallets/me/cash-out | Cash out to MoMo |
| POST | /v1/wallets/me/accounts/{currency} | Add currency account |
| DELETE | /v1/wallets/me/accounts/{currency} | Remove currency account |
| GET | /v1/wallets/me | Get wallet |
| GET | /v1/wallets/me/transactions/{currency} | Get transaction history |
| GET | /v1/wallets/me/stripe-onboarding-status | Stripe Connect onboarding status |
| GET | /v1/wallets/me/fund-ins | List fund-in requests |
| GET | /v1/wallets/me/cash-outs | List cash-out requests |
| GET | /v1/wallets/me/balances | Get all balances |
| GET | /v1/wallets/me/balances/{currency} | Get balance for currency |
Public Lodging Booking
Public per-merchant lodging booking submission. No authentication; throttled by IP and hCaptcha-guarded.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/lodging-bookings | Create a lodging booking |
Transfers
Create and track money transfers
4 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/transactions | List transactions |
| POST | /v1/transactions | Create transfer |
| GET | /v1/transactions/{id} | Get transaction detail |
| GET | /v1/transactions/corridors | List corridors |
Fan Directory
The merchant's owned fan list: list, add, import, tag (Danipa Stage)
7 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/merchants/me/fans/{fanId}/tags/{tag} | Tag a fan |
| DELETE | /v1/merchants/me/fans/{fanId}/tags/{tag} | Untag a fan |
| GET | /v1/merchants/me/fans | List fans |
| POST | /v1/merchants/me/fans | Add a fan by hand |
| POST | /v1/merchants/me/fans/import | Import fans from CSV |
| GET | /v1/merchants/me/fans/{fanId} | Get a fan |
| GET | /v1/merchants/me/fan-tags | List the merchant's tags |
Marketplace Connectors
Merchant-dashboard CRUD for installed connectors
4 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/connectors/{provider}/install | Begin a connector OAuth install |
| POST | /v1/connectors/me/{id}/disconnect | Disconnect (revoke) a connector — scrubs tokens from Vault |
| GET | /v1/connectors/{provider}/callback | Provider OAuth callback (public endpoint) |
| GET | /v1/connectors/me | List the merchant's connectors (current environment) |
Loans
Micro-loans — products, application, repayment, schedule
6 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/loans/{id}/repay | Make a repayment |
| POST | /v1/loans/apply | Apply for a loan |
| GET | /v1/loans | List user's loans |
| GET | /v1/loans/{id} | Get loan detail |
| GET | /v1/loans/{id}/schedule | Get repayment schedule |
| GET | /v1/loans/products | List eligible loan products |
Merchant Stripe Connect
Connect a merchant's own Stripe account (Express acquiring)
2 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchant/stripe-connect/onboarding-link | Create a Stripe Express onboarding link for the merchant |
| GET | /v1/merchant/stripe-connect/status | Merchant Stripe Connect readiness (live) |
V3 Spa — Service Catalog
Phase 1 — bookable services + resource qualifications.
8 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/spa/services/{id} | |
| PUT | /v1/merchants/me/spa/services/{id} | |
| DELETE | /v1/merchants/me/spa/services/{id} | |
| GET | /v1/merchants/me/spa/services | |
| POST | /v1/merchants/me/spa/services | |
| GET | /v1/merchants/me/spa/services/{id}/qualifications | |
| POST | /v1/merchants/me/spa/services/{id}/qualifications | |
| DELETE | /v1/merchants/me/spa/services/{id}/qualifications/{resourceId} |
Savings Plans
Auto-debit savings plans — recurring deposits, round-up savings
8 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/savings/plans/{id} | Update savings plan |
| DELETE | /v1/savings/plans/{id} | Cancel savings plan |
| PUT | /v1/savings/plans/{id}/round-up | Update round-up settings |
| GET | /v1/savings/plans | List savings plans |
| POST | /v1/savings/plans | Create auto-debit plan |
| POST | /v1/savings/plans/{id}/resume | Resume savings plan |
| POST | /v1/savings/plans/{id}/pause | Pause savings plan |
| GET | /v1/savings/plans/{id}/history | Get execution history |
Public Spa Booking
Public per-merchant spa appointment submission. No authentication; throttled by IP and hCaptcha-guarded.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/spa-bookings | Book a spa appointment |
Fan Broadcasts
Compose + send broadcasts to fan segments (Danipa Stage)
4 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/broadcasts | List broadcasts |
| POST | /v1/merchants/me/broadcasts | Compose a broadcast |
| POST | /v1/merchants/me/broadcasts/{broadcastId}/send | Send a broadcast |
| GET | /v1/merchants/me/broadcasts/{broadcastId} | Get a broadcast |
V4 Lodging — Reservation operations
Phase 1.5.1 — merchant-facing reservation lifecycle (check-in, check-out, balance link, cancel, refund).
10 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/merchants/me/lodging/reservations/{reservationId}/refund | Record a refund |
| POST | /v1/merchants/me/lodging/reservations/{reservationId}/check-out | Mark guest checked out |
| POST | /v1/merchants/me/lodging/reservations/{reservationId}/check-in | Mark guest checked in |
| POST | /v1/merchants/me/lodging/reservations/{reservationId}/cancel | Cancel reservation |
| POST | /v1/merchants/me/lodging/reservations/{reservationId}/balance-link | Generate balance payment link |
| GET | /v1/merchants/me/lodging/reservations | List reservations |
| GET | /v1/merchants/me/lodging/reservations/{reservationId} | Reservation detail |
| GET | /v1/merchants/me/lodging/reservations/{reservationId}/confirmation.pdf | Download the reservation confirmation PDF |
| GET | /v1/merchants/me/lodging/reservations/today | Today's check-ins + check-outs + in-house guests |
| GET | /v1/merchants/me/lodging/reservations/calendar | Per-room calendar (Phase 1.6.3) |
Referrals
Referral program — invite friends, earn rewards
4 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/referrals/signup | Record a referral signup |
| GET | /v1/referrals | List my referrals |
| GET | /v1/referrals/rewards | List my rewards |
| GET | /v1/referrals/code | Get my referral code and link |
Rental Asset Types
§2.5 — Catalog aggregates for kit-based inventory (e.g. 'Scaffold End Frame, qty 200'). Quotes resolve against types with a kit quantity; per-unit RentalAsset rows link back to a type.
6 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/rentals/asset-types/{typeId} | Get asset type |
| PUT | /v1/merchants/me/rentals/asset-types/{typeId} | Update asset type |
| DELETE | /v1/merchants/me/rentals/asset-types/{typeId} | Retire asset type |
| GET | /v1/merchants/me/rentals/asset-types | List asset types |
| POST | /v1/merchants/me/rentals/asset-types | Create asset type |
| GET | /v1/merchants/me/rentals/asset-types/{typeId}/availability | Check date-window availability for an asset type |
V3 Spa — Customer entitlements
BE-7 — a customer's package balances + memberships.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/spa/customers/{customerId}/entitlements |
Public Booking Inquiry
Public per-merchant booking-inquiry submission. No authentication; throttled by IP and hCaptcha-guarded.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| POST | /v1/public/merchants/{merchantSlug}/booking-inquiries | Submit a booking inquiry |
Public Reservation Status
Read-only snapshot of a reservation by shortCode. No auth; throttled per IP.
2 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/reservations/{shortCode} | Get a reservation by shortCode |
| GET | /v1/public/reservations/{shortCode}/confirmation.pdf | Download a reservation confirmation as a PDF |
User Provisioning - MTN Mobile Money (MoMo) API
Endpoints for creating and managing sandbox API users and API keys for MTN MoMo integration testing. Sandbox-only by profile gate (dev / sandbox / test) — the bean is not instantiated in prod, so all routes return 404.
3 endpoints
| Method | Path | Summary |
|---|---|---|
| POST | /v1/user | Create a sandbox API user for MTN MoMo integration testing. |
| POST | /v1/user/{X-Reference-Id}/apikey | Generate an API key for a sandbox API user. |
| GET | /v1/user/{X-Reference-Id} | Retrieve a sandbox API user by reference ID. |
Exchange Rates
FX rates and fee calculations for send money flow
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/exchange-rates | Get exchange rate and fee |
Float Pools
Manage float pools and bulk allocation
6 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/admin/float-pools/{id} | Get float pool by ID |
| PUT | /v1/admin/float-pools/{id} | Update float pool |
| DELETE | /v1/admin/float-pools/{id} | Delete float pool |
| GET | /v1/admin/float-pools | List all float pools |
| POST | /v1/admin/float-pools | Create a new float pool |
| POST | /v1/admin/float-pools/{id}/allocate | Bulk allocate float to agents from pool |
Agent Registration
Self-service agent application and KYB document upload
4 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/agent-applications/{id}/agreement | Accept agent agreement |
| POST | /v1/agent-applications | Submit agent application |
| POST | /v1/agent-applications/{id}/documents | Upload KYB document |
| GET | /v1/agent-applications/mine | Get my application |
Public Spa Slots
Public per-merchant bookable slot search. No authentication; throttled by IP.
1 endpoint
| Method | Path | Summary |
|---|---|---|
| GET | /v1/public/merchants/{merchantSlug}/spa-slots | List bookable appointment slots |
User Profile
Manage the authenticated user's profile
6 endpoints
| Method | Path | Summary |
|---|---|---|
| PUT | /v1/users/me/active-merchant | Set active merchant preference |
| POST | /v1/users/me/logout-all | Sign out all devices |
| POST | /v1/users/me/account-deletion | Schedule self-service account deletion (MFG-1) |
| POST | /v1/users/me/account-deletion/cancel | Cancel a pending account deletion (MFG-1) |
| GET | /v1/users/me | Get current user profile |
| PATCH | /v1/users/me | Update current user profile |
V4 Lodging — Room Types
Phase 1.3.2 — merchant catalog of room classes (Standard Double, Suite, etc). One RoomType = one Sellable.
5 endpoints
| Method | Path | Summary |
|---|---|---|
| GET | /v1/merchants/me/lodging/room-types/{typeId} | Get a room type |
| PUT | /v1/merchants/me/lodging/room-types/{typeId} | Update a room type (partial) |
| DELETE | /v1/merchants/me/lodging/room-types/{typeId} | Retire a room type |
| GET | /v1/merchants/me/lodging/room-types | List room types |
| POST | /v1/merchants/me/lodging/room-types | Create a room type |
Authentication
The Danipa API supports two authentication schemes depending on the endpoint.
Bearer JWT.
Most API endpoints require a JWT Bearer token. Obtain a token by calling the authentication endpoint with your credentials. Include it in the Authorization header.
Authorization: Bearer eyJhbGciOi...
Basic Auth.
Token-creation endpoints (e.g., MTN MoMo OAuth) use HTTP Basic authentication. Provide your API User ID as the username and your API Key as the password, Base64-encoded.
Authorization: Basic base64(userId:apiKey)
Schemas
327 data models defined in the OpenAPI specification. Download the full spec for complete schema definitions including properties, types, and validation rules.
View all 327 models
Download the spec.
Use the complete OpenAPI 3.1.0 spec with Swagger UI, Postman, or code generators.