API Reference
API Reference Overview
Base URL, authentication, rate limits, pagination, and errors. Browse all endpoints below or try the API in the Playground.
Quick reference
| Base URL | https://api.mudbase.dev |
| Authentication | Authorization: Bearer YOUR_API_KEY or X-API-Key |
| Rate limit | Per API key, configurable — see Rate Limits |
| Spec | Download OpenAPI |
Base URL
https://api.mudbase.devhttps://api.mudbase.devAuthentication
Send your API key in the Authorization: Bearer YOUR_API_KEY header, or use X-API-Key for server-to-server. See Authentication (Concepts) and User Authentication.
Rate limits
Limits are set per API key and vary by endpoint — auth endpoints are stricter than general traffic. When exceeded, the API returns 429 Too Many Requests. See Rate Limits.
Pagination
List endpoints support limit and cursor (or offset). Responses include next_page when more results exist. See Pagination.
Errors
Standard HTTP status codes: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Rate limited, 5xx Server error. See Error Explorer for full reference.
Try the API
Use the Playground to send live requests, or import the OpenAPI spec into Postman.
Endpoints
All API operations grouped by tag. Filter by path, method, or tag, or click any endpoint for parameters, request/response schemas, and try-it-live.
Authentication
/api/auth/registerRegister new user
/api/auth/loginLogin user
/api/auth/sessionGet current session
/api/auth/logoutLogout user
/api/auth/refreshRefresh access token (org and project)
/api/auth/verify-emailVerify email address (no auth)
/api/auth/resend-verificationResend verification email (no auth)
/api/auth/password-resetRequest password reset (organization / platform)
/api/auth/password-reset/validateValidate password reset token
/api/auth/password-reset/{token}Reset password with token (organization / platform)
/api/auth/oauth-org/providersGet available OAuth providers for organization-based auth
/api/auth/oauth-org/{provider}Initiate OAuth authentication for organization
/api/auth/oauth-org/callback/{provider}OAuth callback handler for organization
/api/auth/local/registerRegister new user (project-based)
/api/auth/local/loginLogin user (project-based)
/api/auth/local/logoutLogout user (project-based)
/api/auth/local/sessionGet current session (project-based)
/api/auth/accept-inviteAccept organization invitation
/api/auth/local/password-resetRequest password reset (project-based, OTP)
/api/auth/local/password-reset/confirmConfirm password reset with OTP (project-based)
/api/auth/local/password-reset/{token}Reset password with token (project-based, legacy)
/api/auth/oauth/{provider}/{projectId}Initiate OAuth authentication
/api/auth/oauth/callback/{provider}OAuth callback handler (project-based)
/api/auth/oauth/providers/availableGet all available OAuth providers
/api/auth/magic-link/sendSend magic link
/api/auth/magic-link/verifyVerify magic link
/api/auth/otp/sendSend OTP code
/api/auth/otp/verifyVerify OTP code
/api/auth/anonymousCreate anonymous session
/api/auth/anonymous/convertConvert anonymous account to full account
Users
/api/users/meGet current user profile
/api/users/updateUpdate user profile
/api/users/passwordChange password
/api/users/2fa/setupSetup 2FA
/api/users/2fa/verifyVerify and enable 2FA
/api/users/2fa/disableDisable 2FA
/api/users/verify-emailVerify email address (organization and project)
/api/users/resend-verificationResend verification email
/api/users/me/exportExport user data (GDPR Article 15)
/api/users/me/eraseDelete user data (GDPR Article 17)
/api/users/me/oauth-providersList linked OAuth providers
/api/users/me/oauth-providers/link/{provider}Link OAuth provider to account
/api/users/me/oauth-providers/{provider}Unlink OAuth provider
/api/me/bootstrapDashboard bootstrap (session + orgs + default org + projects)
Organizations
/api/orgsGet all organizations for user
/api/orgs/{orgId}Get organization details by ID
/api/orgs/{orgId}Update organization
/api/orgs/{orgId}Delete organization
/api/orgs/{orgId}/projects/{projectId}/domainsList custom domains and DNS verification hints
/api/orgs/{orgId}/projects/{projectId}/domainsAdd a custom domain
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/dns-instructionsGet DNS TXT record instructions for one hostname
/api/orgs/{orgId}/projects/{projectId}/domains/primarySet primary custom domain
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/verify-dnsVerify domain ownership via DNS TXT
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/platform-readyNotify platform ops that hosting or edge work is ready (email)
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/submit-cnameCustom domain step 2 (optional): org confirms routing CNAME was added
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}/verify-platform-dnsCustom domain step 3: verify platform DNS (manual TXT or Fly certificate readiness)
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}Update domain status or regenerate verification token
/api/orgs/{orgId}/projects/{projectId}/domains/{hostname}Remove a custom domain
/internal/provision-enterpriseProvision enterprise dedicated API/DB (internal)
/internal/custom-domain/sweep-statusCustom domain background sweep status (internal)
/internal/domain-dns/recheck-batchBatch DNS re-verification for drift (internal)
/internal/org/custom-domain-addonEnable/disable Growth/Scale custom domain add-on (internal)
/api/orgs/{orgId}/membersGet organization members
/api/orgs/{orgId}/usersList organization users with metadata
/api/orgs/{orgId}/users/{userId}/statusUpdate user account status (activate or suspend)
/api/orgs/{orgId}/users/{userId}/overviewGet user overview and data footprint
/api/orgs/{orgId}/projects/{projectId}/usersList project users with metadata
/api/orgs/{orgId}/inviteInvite team member to organization
/api/orgs/{orgId}/members/{userId}/roleUpdate member role
/api/orgs/{orgId}/members/{userId}Remove team member from organization
/api/orgs/{orgId}/usageGet organization usage and billing
/api/orgs/plan/{orgId}Update organization plan
Role Elevation
/api/projects/{projectId}/role-elevation/requestRequest role elevation
/api/projects/{projectId}/role-elevation/statusGet role elevation status
/api/projects/{projectId}/role-elevation/documentsUpload verification documents
/api/orgs/{orgId}/role-elevation/pendingGet pending role elevation requests (admin only)
/api/orgs/{orgId}/role-elevation/{requestId}/approveApprove/reject role elevation request (admin only)
Verified Role Upgrade
Multi-Role Feature
/api/projects/{projectId}/permissions-matrixGet permissions matrix (collections + featurePermissions)
/api/projects/{projectId}/multi-roleGet multi-role feature configuration
/api/projects/{projectId}/multi-role/settingsUpdate multi-role feature settings
/api/projects/{projectId}/multi-role/simulate-permissionsSimulate app-role feature permission for a path
/api/projects/{projectId}/multi-role/roles/{roleSlug}/apply-presetApply Admin / User / Viewer feature permission preset
/api/projects/{projectId}/multi-role/roles/{roleSlug}/toggleToggle role on/off
/api/projects/{projectId}/multi-role/roles/{roleSlug}Update role configuration
/api/projects/{projectId}/multi-role/rolesAdd custom role
/api/projects/{projectId}/multi-role/roles/{roleSlug}/collections/{collectionId}/permissionsUpdate collection permissions for a role
/api/projects/{projectId}/multi-role/roles/availableGet available roles for signup
/api/auth/local/signup/{role}Register user with specific role (Local Auth)
/api/auth/oauth/signup/{role}/{provider}/{projectId}OAuth signup with specific role
Projects
/api/projects/{id}/logoUpload project logo (by project ID)
/api/projects/{orgId}/projectsList all projects
/api/projects/{orgId}/projectsCreate new project
/api/projects/{orgId}/projects/{id}Get single project
/api/projects/{orgId}/projects/{id}Update project
/api/projects/{orgId}/projects/{id}Delete project
/api/projects/{orgId}/projects/{id}/logoUpload project logo (by org and project ID)
/api/auth/oauth/projects/{projectId}/providersGet configured OAuth providers for a project
/api/auth/oauth/projects/{projectId}/providers/{provider}Get OAuth provider configuration
/api/auth/oauth/projects/{projectId}/providers/{provider}Configure OAuth provider for a project
/api/auth/oauth/projects/{projectId}/providers/{provider}Update OAuth provider configuration
/api/projects/{orgId}/projects/{id}/usageGet project usage statistics
/api/projects/{orgId}/projects/{id}/auth/captchaGet project CAPTCHA configuration
/api/projects/{projectId}/dashboard/overviewProject dashboard overview
Collections
/api/schemas/projects/{projectId}/collectionsList collections in project
/api/schemas/projects/{projectId}/collectionsCreate new collection
/api/schemas/projects/{projectId}/collections/{collectionId}Get single collection
/api/schemas/projects/{projectId}/collections/{collectionId}Update collection
/api/schemas/projects/{projectId}/collections/{collectionId}Delete collection
Data
/api/data/projects/{projectId}/collections/{collectionId}/dataList data in collection
/api/data/projects/{projectId}/collections/{collectionId}/dataCreate data in collection
/api/data/projects/{projectId}/collections/{collectionId}/data/{documentId}Get single document
/api/data/projects/{projectId}/collections/{collectionId}/data/{documentId}Update document
/api/data/projects/{projectId}/collections/{collectionId}/data/{documentId}Delete document
Buckets
/api/bucket/projects/{projectId}/bucketsList buckets in a project
/api/bucket/projects/{projectId}/bucketsCreate a new bucket
/api/bucket/projects/{projectId}/buckets/{bucketId}Get bucket details
/api/bucket/projects/{projectId}/buckets/{bucketId}Update bucket
/api/bucket/projects/{projectId}/buckets/{bucketId}Delete bucket
Files
/api/bucket/projects/{projectId}/buckets/{bucketId}/filesList files in bucket
/api/bucket/projects/{projectId}/buckets/{bucketId}/filesUpload files to bucket
/api/bucket/projects/{projectId}/buckets/{bucketId}/files/{fileId}Get file metadata
/api/bucket/projects/{projectId}/buckets/{bucketId}/files/{fileId}Delete file
/api/files/{fileId}/downloadGenerate a presigned URL for downloading a file
/api/files/upload/presignedGenerate a presigned PUT URL for direct browser upload
/api/files/upload/confirmConfirm direct upload (scan + finalize metadata)
/api/bucket/projects/{projectId}/buckets/{bucketId}/files/{fileId}/signed-urlGenerate signed URL for file
/api/bucket/files/{fileId}/downloadDownload file from bucket
/api/files/download/{fileId}Get a download URL for a file
/api/files/public/{fileId}Redirect to a public file's content
/api/files/logo-redirectRedirect to an org/project logo's content
API Keys
Webhooks
/api/webhooksList webhook delivery logs (organization)
/api/webhooks/projects/{projectId}List webhook delivery logs (project)
/api/webhooks/triggerManually trigger an outbound webhook
/api/webhooks/retry/{webhookId}Retry a failed webhook delivery
/api/webhooks/projects/{projectId}/configGet project webhook configuration
/api/webhooks/projects/{projectId}/configCreate or update project webhook
/api/webhooks/projects/{projectId}/test-transformationTest webhook transformation
/api/webhooks/statsGet webhook delivery statistics
Functions
/api/functions/webhook/{projectId}Trigger webhook functions
/api/functions/projects/{projectId}/functionsList functions
/api/functions/projects/{projectId}/functionsCreate function
/api/functions/projects/{projectId}/functions/{functionId}Get function
/api/functions/projects/{projectId}/functions/{functionId}Update function
/api/functions/projects/{projectId}/functions/{functionId}Delete function
/api/functions/projects/{projectId}/functions/{functionId}/activateActivate function
/api/functions/projects/{projectId}/functions/{functionId}/deactivateDeactivate function
/api/functions/projects/{projectId}/functions/{functionId}/executeExecute function
/api/functions/projects/{projectId}/functions/{functionId}/logsGet function execution logs
/api/functions/projects/{projectId}/functions/{functionId}/retry/{executionIndex}Retry failed execution
/api/functions/projects/{projectId}/functions/{functionId}/rollbackRollback to previous version
/api/functions/projects/{projectId}/functions/{functionId}/versionsGet function versions
/api/functions/projects/{projectId}/functions/{functionId}/simulateSimulate trigger
/api/functions/projects/{projectId}/functions/{functionId}/executions/{executionId}Get execution status
Messaging
/api/messaging/projects/{projectId}/messaging/pushSend push notification
/api/messaging/projects/{projectId}/messaging/emailSend email
/api/messaging/projects/{projectId}/messaging/smsSend SMS
/api/messaging/projects/{projectId}/messaging/sms-providerGet BYO SMS provider configuration (masked)
/api/messaging/projects/{projectId}/messaging/sms-providerUpdate BYO SMS provider credentials
/api/messaging/projects/{projectId}/messaging/push-configGet BYO FCM configuration (masked)
/api/messaging/projects/{projectId}/messaging/push-configSet or clear per-project FCM service account
/api/messaging/projects/{projectId}/messaging/historyGet message history
/api/messaging/projects/{projectId}/messaging/statsGet message statistics
Usage
Search
Wallet
/api/wallet/currenciesGet supported currencies and chains
/api/wallet/feesGet all chain network fees (fee oracle snapshot)
/api/wallet/network-statusGet network status (congestion + fee metric per chain)
/api/wallet/estimate-network-feeEstimate network fee (preferred; reads from fee oracle cache)
/api/wallet/calculate-feeGet network fee only (alias for POST /api/wallet/estimate-network-fee)
/api/wallet/projects/{projectId}/fee-configGet project fee configuration (for non-custodial / external users)
/api/wallet/projects/{projectId}/fee-configUpdate project fee configuration (for non-custodial / external users)
/api/wallet/generate-keyGenerate private key
/api/wallet/validate-addressValidate cryptocurrency address
/api/wallet/createCreate new wallet (for testing non-custodial)
/api/walletGet user wallets
/api/wallet/{walletId}/balanceGet wallet balance
/api/wallet/{walletId}/private-keyGet wallet private key (WARNING: Sensitive data; for testing non-custodial)
/api/wallet/{walletId}/withdrawPrepare withdrawal (semi-transaction; broadcast via non-custodial)
/api/wallet/transactions/{transactionId}Get transaction details
/api/wallet/transactionsGet transaction history (custodial wallets; same monitoring as non-custodial)
/api/wallet/non-custodial/register-addressRegister a non-custodial wallet address
/api/wallet/non-custodial/addressesList registered non-custodial addresses
/api/wallet/non-custodial/addresses/{addressId}Get non-custodial address by ID
/api/wallet/non-custodial/addresses/{addressId}Update a monitored wallet address
/api/wallet/non-custodial/addresses/{addressId}Delete or deactivate a monitored wallet address
/api/wallet/non-custodial/addresses/{addressId}/balanceGet balance for a non-custodial address
/api/wallet/non-custodial/addresses/{addressId}/transactionsGet transaction history for a non-custodial address
/api/wallet/non-custodial/transactions/{txHash}Get transaction by hash
/api/wallet/non-custodial/broadcastBroadcast a client-signed transaction
/api/wallet/non-custodial/speed-upGet replacement tx params for speed-up (stuck EVM tx)
/api/wallet/non-custodial/cancelGet replacement tx params for cancel (stuck EVM tx)
/api/wallet/non-custodial/estimate-gasEstimate network fee from blockchain (all supported chains; not controlled by Mudbase)
/api/wallet/non-custodial/webhooksList wallet webhooks
/api/wallet/non-custodial/webhooksCreate a wallet webhook
/api/wallet/non-custodial/webhooks/{webhookId}Update a wallet webhook
/api/wallet/non-custodial/webhooks/{webhookId}Delete a wallet webhook
/api/wallet/non-custodial/webhooks/{webhookId}/logsGet webhook delivery logs
/api/wallet/non-custodial/webhooks/testTest a webhook delivery (sends a single test payload)
Monitoring
/api/monitoring/logsGet audit logs
/api/monitoring/analyticsGet usage analytics (time series)
/api/monitoring/errorsGet error logs
/api/monitoring/performanceGet performance metrics
/api/monitoring/latency-insightsLatency insights (route templates, percentiles, impact scores)
/api/monitoring/queue-metricsUsage metering queue job counts
/api/monitoring/alertsList monitoring alerts
/api/monitoring/alertsCreate monitoring alert
/api/monitoring/scanner-metricsGet block scanner metrics
Billing
/api/billing/plansGet subscription tiers (org-level BaaS plans)
/api/billing/plans/{planId}Get one subscription tier by id
/api/billing/org/checkoutInitialize org-level BaaS plan payment (Starter, Growth, Scale)
/api/billing/org/verify-paymentVerify org-level plan payment
/api/billing/estimateGet billing estimate and forecast
/api/billing/projects/{projectId}/plansGet billing plans
/api/billing/projects/{projectId}/plansCreate billing plan
/api/billing/projects/{projectId}/plans/{planId}Update billing plan
/api/billing/projects/{projectId}/plans/{planId}Delete billing plan
/api/billing/public/projects/{projectId}/plansGet public plans (no auth required)
/api/billing/public/projects/{projectId}/checkoutCreate checkout session (fiat)
/api/billing/public/projects/{projectId}/checkout/{paymentId}Get checkout payment details (not used for fiat billing)
/api/billing/public/projects/{projectId}/verify-paymentVerify payment and create subscription
/api/billing/projects/{projectId}/subscriptionsGet subscriptions
/api/billing/subscriptions/{subscriptionId}/cancelCancel subscription
/api/billing/public/projects/{projectId}/subscriptionCheck subscription status (public)
/api/billing/public/projects/{projectId}/feature-accessCheck feature access (public)
/api/billing/public/projects/{projectId}/usageRecord usage (public)
/api/billing/projects/{projectId}/dashboardGet billing dashboard data
/api/billing/projects/{projectId}/invoicesList project invoices
/api/billing/projects/{projectId}/invoices/{invoiceId}Get single invoice
/api/billing/projects/{projectId}/invoices/{invoiceId}/downloadDownload invoice PDF
/api/billing/projects/{projectId}/invoices/{invoiceId}/exportExport invoice (e.g. PDF URL or file)
/api/billing/webhooks/flutterwavePayment gateway webhook
/api/orgs/{orgId}/payment-processing/enableEnable payment processing for organization
/api/orgs/{orgId}/payment-processing/initialize-paymentInitialize fiat payment with split (org subaccount + platform fee)
/api/orgs/{orgId}/payment-processing/fee-breakdownGet fee breakdown for a given amount
/api/orgs/{orgId}/payment-processing/recordsList fiat payment records for organization
/api/projects/{projectId}/payment-processing/initialize-paymentInitialize fiat payment (project-scoped)
Chat
/api/chat/projects/{projectId}/chatsGet user chats
/api/chat/projects/{projectId}/chatsCreate new chat
/api/chat/projects/{projectId}/chats/{chatId}Get chat details
/api/chat/projects/{projectId}/me/chat-e2ee-keyRegister chat E2EE identity public key
/api/chat/projects/{projectId}/chats/{chatId}/e2ee/participant-keysList participant E2EE public keys
/api/chat/projects/{projectId}/chats/{chatId}/messagesGet chat messages
/api/chat/projects/{projectId}/chats/{chatId}/messagesSend message
/api/chat/projects/{projectId}/chats/{chatId}/messages/readMark messages as read
/api/chat/projects/{projectId}/chats/{chatId}/messages/{messageId}/reactionsAdd reaction to message
/api/chat/projects/{projectId}/chats/{chatId}/messages/{messageId}/reactionsRemove reaction from message
/api/chat/projects/{projectId}/chats/{chatId}/messages/{messageId}Edit message
/api/chat/projects/{projectId}/chats/{chatId}/messages/{messageId}Delete message
/api/chat/projects/{projectId}/chats/{chatId}/participantsAdd participant to chat
/api/chat/projects/{projectId}/chats/{chatId}/participantsRemove participant from chat
Integrations
/api/integrations/templatesGet integration templates
/api/integrations/projects/{projectId}/integrationsGet project integrations
/api/integrations/projects/{projectId}/integrationsCreate new integration
/api/integrations/projects/{projectId}/integrations/from-templateCreate integration from template
/api/integrations/projects/{projectId}/integrations/importImport integration
/api/integrations/projects/{projectId}/integrations/{integrationId}Get integration details
/api/integrations/projects/{projectId}/integrations/{integrationId}Update integration
/api/integrations/projects/{projectId}/integrations/{integrationId}Delete integration
/api/integrations/projects/{projectId}/integrations/{integrationId}/testTest integration
/api/integrations/projects/{projectId}/integrations/{integrationId}/executeExecute integration
/api/integrations/projects/{projectId}/integrations/{integrationId}/exportExport integration
/api/integrations/projects/{projectId}/integrations/{integrationId}/usageGet integration usage statistics
Backups
Compliance
/api/compliance/access-reviewGenerate access review report (SOC 2)
/api/compliance/data-processing-recordGenerate data processing record (GDPR Article 30)
/api/compliance/summaryGet compliance summary
/api/compliance/security-eventLog security event
/api/gdpr/exportExport my personal data (GDPR Art. 15)
/api/gdpr/eraseErase my personal data (GDPR Art. 17)
Real-time Analytics
/api/realtime/projects/{projectId}/analyticsGet project real-time analytics
/api/realtime/projects/{projectId}/active-usersGet active users for a project
/api/realtime/projects/{projectId}/presenceCheck presence status for users
/api/realtime/projects/{projectId}/throughputGet event throughput metrics
/api/realtime/projects/{projectId}/historyGet historical analytics
/api/realtime/analyticsGet global real-time analytics
/api/projects/{projectId}/analytics/emailEmail analytics for a project
/api/projects/{projectId}/email/sendEnqueue project email (worker delivery)
/api/projects/{projectId}/email/smtpGet project SMTP settings (masked)
/api/projects/{projectId}/email/smtpUpdate project SMTP relay (BYO)
/api/projects/{projectId}/email/smtp/testVerify SMTP and send a test message
/api/projects/{projectId}/email/smtp/verify-domainCheck DNS (MX + SPF) for sending domain
/api/projects/{projectId}/email/templatesList email templates (full catalog for the project)
/api/projects/{projectId}/email/templates/{name}Get one email template (effective content)
/api/projects/{projectId}/email/templates/{name}Upsert project email template (HTML sanitized; variables must cover {{placeholders}})
/api/projects/{projectId}/email/templates/{name}/previewRender template preview (sanitized HTML, no send)
/api/projects/{projectId}/email/templates/{name}/restore-defaultRestore from platform global default or remove project override
KYC
/api/kyc/sessionsStart a platform KYC session
/api/kyc/statusGet the organization's platform KYC status
/api/kyc/verifications/{id}Get a single KYC verification record
/api/kyc/webhook-configGet white-label KYC webhook config
/api/kyc/webhook-configSet white-label KYC webhook config
/api/kyc/webhook-config/testSend a signed test event to the configured webhook endpoint
/api/kyc/workflowsList available verification workflows
/api/kyc/eventsList recent compliance webhook deliveries
/api/projects/{projectId}/kyb/sessionsStart a business verification (KYB) session for one of your business customers
Add-ons
Last updated: August 2026
Edit this page on GitHub