The Functions service allows you to create custom behaviour that can be triggered by any supported Appwrite system events or by a predefined schedule.
Appwrite Cloud Functions lets you automatically run backend code in response to events triggered by Appwrite or by setting it to be executed in a predefined schedule. Your code is stored in a secure way on your Appwrite instance and is executed in an isolated environment.
You can learn more by following our Cloud Functions tutorial.
https://cloud.appwrite.io/v1
List executions
Get a list of all the current user function execution logs. You can use the query params to filter your results.
Request
functionId requiredFunction ID.
queries Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: trigger, status, responseStatusCode, duration
search Search term to filter your list results. Max length: 256 chars.
Response
200
GET /functions/{functionId}/executions
import io.appwrite.Client
import io.appwrite.coroutines.CoroutineCallback
import io.appwrite.services.Functions
val client = Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setProject("5df5acd0d48c2") // Your project ID
val functions = Functions(client)
val result = functions.listExecutions(
functionId = "<FUNCTION_ID>",
queries = listOf(), // (optional)
search = "<SEARCH>", // (optional)
)
Create execution
Trigger a function execution. The returned object will return you the current execution status. You can ping the Get Execution
endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.
Request
functionId requiredFunction ID.
body HTTP body of execution. Default value is empty string.
async Execute code in the background. Default value is false.
path HTTP path of execution. Path can include query params. Default value is /
method HTTP method of execution. Default value is GET.
headers HTTP headers of execution. Defaults to empty.
Response
201
POST /functions/{functionId}/executions
import io.appwrite.Client
import io.appwrite.coroutines.CoroutineCallback
import io.appwrite.services.Functions
val client = Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setProject("5df5acd0d48c2") // Your project ID
val functions = Functions(client)
val result = functions.createExecution(
functionId = "<FUNCTION_ID>",
body = "<BODY>", // (optional)
async = false, // (optional)
path = "<PATH>", // (optional)
method = ExecutionMethod.GET, // (optional)
headers = mapOf( "a" to "b" ), // (optional)
)
Get execution
Get a function execution log by its unique ID.
Request
functionId requiredFunction ID.
executionId requiredExecution ID.
Response
200
GET /functions/{functionId}/executions/{executionId}
import io.appwrite.Client
import io.appwrite.coroutines.CoroutineCallback
import io.appwrite.services.Functions
val client = Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setProject("5df5acd0d48c2") // Your project ID
val functions = Functions(client)
val result = functions.getExecution(
functionId = "<FUNCTION_ID>",
executionId = "<EXECUTION_ID>",
)