functions
List functions
List serverless functions in a project with optional search and filters. Supports trigger types: http, event, document, file, webhook, wallet, cron, messaging.
GET
/api/functions/projects/{projectId}/functionsAuthentication
Requires JWT Requires API Key JWT or API Key
Note
This endpoint accepts either JWT Bearer token or API Key. Use
Authorization: Bearer YOUR_TOKEN for user context, or X-API-Key: YOUR_KEY for server-to-server. View authentication guide →Include your JWT in the Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →Include your API key in the X-API-Key: YOUR_KEY header (server-to-server, SDKs). View authentication guide →Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project ID. |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (1-based). |
limit | integer | No | Number of functions per page. |
search | string | No | Search by name or description |
triggerType | string | No | Filter by trigger type |
isActive | boolean | No | Filter by active status (true/false) |
SDK setup
Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.
import { MudbaseClient } from "mudbase";
const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");import { MudbaseClient } from "mudbase";
const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");Example request
Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.
const result = await client.functions.list({
projectId: "proj_fs1Amxsk0G1U"
});const result = await client.functions.list({
projectId: "proj_fs1Amxsk0G1U"
});Try It Live
Test this endpoint with your own credentials. Your requests will be sent to the live API.
Get your API key from the console
Use the auth endpoints to obtain a JWT.
No Request Yet
Send a request to see the full inspector
Responses
200Functions list
List with search and filters
json
{
"success": true,
"data": {
"functions": [
{
"_id": "685af8b85d73a104065b6a77",
"name": "ProcessUserData",
"description": "Process user data on create",
"trigger": {
"type": "document",
"event": "create",
"collectionId": "685ada8fd9416ac02f171abf"
},
"isActive": true,
"stats": {
"totalExecutions": 42,
"successful": 40,
"failed": 2,
"successRate": 95.24,
"avgExecutionTime": 125,
"lastRun": "2024-01-15T10:30:00.000Z"
}
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}
}{
"success": true,
"data": {
"functions": [
{
"_id": "685af8b85d73a104065b6a77",
"name": "ProcessUserData",
"description": "Process user data on create",
"trigger": {
"type": "document",
"event": "create",
"collectionId": "685ada8fd9416ac02f171abf"
},
"isActive": true,
"stats": {
"totalExecutions": 42,
"successful": 40,
"failed": 2,
"successRate": 95.24,
"avgExecutionTime": 125,
"lastRun": "2024-01-15T10:30:00.000Z"
}
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}
}Webhook-triggered functions
json
{
"success": true,
"data": {
"functions": [
{
"_id": "685af8b85d73a104065b6a79",
"name": "HandleStripeWebhook",
"trigger": {
"type": "webhook",
"event": "received"
},
"isActive": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}
}{
"success": true,
"data": {
"functions": [
{
"_id": "685af8b85d73a104065b6a79",
"name": "HandleStripeWebhook",
"trigger": {
"type": "webhook",
"event": "received"
},
"isActive": true
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}
}401Authentication required or invalid token.
403Access denied or insufficient permissions.
Errors
| Code | Meaning |
|---|---|
401 | Authentication required or invalid token. |
403 | Access denied or insufficient permissions. |