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 | 100 requests/second (default) |
| 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
Default: 100 requests per second per project. 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. Click any endpoint for parameters, request/response schemas, and try-it-live.
auth
/api/auth/local/registerRegister new user
/api/auth/local/loginLogin user
/api/auth/refreshRefresh access token (dashboard and project)
/api/auth/local/logoutLogout user
/api/auth/local/sessionGet current session
/api/auth/local/password-resetRequest password reset (OTP)
/api/auth/local/password-reset/confirmConfirm password reset with OTP
/api/auth/local/password-reset/{token}Reset password with token (legacy)
/api/auth/oauth/{provider}/{projectId}Initiate OAuth authentication
/api/auth/oauth/callback/{provider}OAuth callback handler
/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
/api/auth/verify-emailVerify email address (no auth)
/api/auth/resend-verificationResend verification email (no auth)
users
/api/users/meGet current user profile
/api/users/updateUpdate user profile
/api/users/passwordChange password
/api/users/2fa/setupInitiate two-factor authentication setup (secret, QR code, backup codes)
/api/users/2fa/verifyVerify and enable 2FA
/api/users/2fa/disableDisable 2FA
/api/users/verify-emailVerify email address (with optional project context)
/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
roleElevation
multiRole
/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
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
storage
/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
/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 presigned POST data 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
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
messaging
/api/messaging/projects/{projectId}/messaging/pushSend push notification
/api/messaging/projects/{projectId}/messaging/emailSend transactional email
/api/messaging/projects/{projectId}/messaging/smsSend SMS to one or more recipients (E.164 format)
/api/messaging/projects/{projectId}/messaging/historyGet message history
/api/messaging/projects/{projectId}/messaging/statsGet message statistics
search
wallet
/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}Delete (soft-delete) a non-custodial 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)
billing
/api/billing/public/projects/{projectId}/plansGet public plans (no auth required)
/api/billing/public/projects/{projectId}/checkoutCreate checkout session (Flutterwave or crypto)
/api/billing/public/projects/{projectId}/checkout/{paymentId}Get checkout payment details
/api/billing/public/projects/{projectId}/verify-paymentVerify payment and create 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/webhooks/cryptoCrypto payment processor webhook
/api/billing/webhooks/flutterwaveFlutterwave webhook
/api/projects/{projectId}/payment-processing/initialize-paymentInitialize fiat payment (app-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
realtimeAnalytics
/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
Last updated: April 2026
Edit this page on GitHub