POST/projects/{project_id}/branches/{branch_id}/triggers

Create a branch trigger

Creates a trigger for a function visible on a branch. Set type to schedule or storage_object_created and provide the matching configuration; schedule expressions use five numeric cron fields interpreted in UTC. The trigger name must be unique among triggers visible on the branch, including inherited triggers.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

2 parameters · 6 body fields
project_idstringrequired
The Neon project ID. Must contain 1–60 lowercase letters, numbers, or hyphens.
branch_idstringrequired
The Neon branch ID. Must contain 1–60 lowercase letters, numbers, or hyphens.

Trigger creation configuration for a function visible on the branch. Select a trigger type and provide its matching configuration.

typestringrequired
Trigger type discriminator.
Allowed:schedule
function_slugstringrequired
The branch-local Function slug to invoke.
namestringrequired
Human-readable name, unique among triggers visible on the branch.
function_pathstringoptional
Path passed to the target Function. Defaults to `/`.
Default:/
scheduleobjectrequired
A numeric five-field cron schedule interpreted in UTC.
enabledbooleanoptional
Whether future occurrences should be scheduled.
Default:true

2 status codes
201Returns the created trigger configuration.
triggerobjectrequired
A branch-effective trigger discriminated by `type`. The supported trigger types are `schedule` and `storage_object_created`.
defaultGeneral Error. The request may or may not be safe to retry, depending on the HTTP method, response status code, and whether a response was received. - If no response is returned from the API, a network error or timeout likely occurred. - In some cases, the request may have reached the server and been successfully processed, but the response failed to reach the client. As a result, retrying non-idempotent requests can lead to unintended results. The following HTTP methods are considered non-idempotent: `POST`, `PATCH`, `DELETE`, and `PUT`. Retrying these methods is generally **not safe**. The following methods are considered idempotent: `GET`, `HEAD`, and `OPTIONS`. Retrying these methods is **safe** in the event of a network error or timeout. Any request that returns a `503 Service Unavailable` response is always safe to retry. Any request that returns a `423 Locked` response is safe to retry. `423 Locked` indicates that the resource is temporarily locked, for example, due to another operation in progress.
request_idstringoptional
Unique identifier for the request, useful for debugging. You can set this value manually by including an `X-Request-ID` header in the request. If not provided, the value will be generated automatically.
codestringrequired
Machine-readable code classifying the error type. See `message` for a human-readable explanation.
Default:
messagestringrequired
Error message

Error handling

The project_id path parameter and branch_id path parameter must each contain 1–60 lowercase letters, numbers, or hyphens. Provide type, function_slug, and name, plus the configuration matching type; type must be schedule or storage_object_created, and name must be 1–256 characters and unique among triggers visible on the branch.