---
title: "Manually trigger a function"
method: POST
path: "/projects/v1/admin/{project_id}/functions/{name}/trigger"
tags: ["Functions"]
---

# Manually trigger a function

`POST /projects/v1/admin/{project_id}/functions/{name}/trigger`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/projects/v1/admin/{project_id}/functions/{name}/trigger`
- Auth: HTTP bearer

Invoke a function immediately, same as a cron tick. Lifecycle-gated and counted against demo function-invocation limits. Returns the function's response status and body. Updates schedule_meta if the function has a schedule.

## Path parameters

- `project_id` string, required: Run402 project ID. Public IDs are not UUIDs.
- `name` string, required

## Response `200`

Function invocation result

- object
  - `status` integer: HTTP status code from the function
  - `body` string: Response body from the function

## Other responses

- `401`: Missing or invalid authentication. Run402-originated JSON bodies use the canonical ErrorEnvelope.
- `404`: Function not found

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
