Durable Functions

Create or update a durable function

Changed on

Upload a durable function source bundle. Creates the function on the first call for a name and redeploys it on every call after that, the same create-or-update contract POST /projects/{id}/functions has.

Volcano builds and deploys asynchronously. A deployment that starts immediately returns status: provisioning, then transitions to active or failed; a deployment that has to wait for a running one is exposed through pending_deployment_id. Existing executions keep running against the runtime they started on.

The durable configuration is derived from the project's plan rather than supplied here, and is fixed once the function exists. A name already held by a standard function is rejected with 409: a function cannot change kind.

post/projects/{id}/durable-functions

Request

  • Base URL: https://api.volcano.dev
  • URL: https://api.volcano.dev/projects/{id}/durable-functions
  • Auth: HTTP bearer

Path parameters

idstring uuid required

Project ID

Response

Existing durable function updated; its deployment was started or queued

idstring uuid required
project_idstring uuid required
namestring required
status'provisioning' | 'active' | 'failed' | 'deleting' required
provisioning_started_atstring date-time

Timestamp when the current provisioning phase started

visibility'private' | 'authenticated' | 'public' required

Who can invoke the function. Each level admits everything the one before it does.

  • private: service keys and the project's schedulers only. The default for a new function. To any other credential the function does not exist: it answers 404, like a missing one.
  • authenticated: also any signed-in user of the project, including anonymous sign-ins. The function receives their auth context.
  • public: also anon keys holding functions.invoke, and Frontend Function routes, which forward requests without a credential.
is_publicboolean required

Deprecated. true exactly when visibility is public.

deployed_regionsstring[] required

Regions where this function is currently deployed

runtimestring
handlerstring
current_deployment_idstring uuid

Identifier of the latest deployment operation

pending_deployment_idstring uuid

Newest queued deployment that will run after the current operation

last_invoked_atstring date-time

Most recent successful invocation timestamp

created_atstring date-time required
updated_atstring date-time required

Changes

    • ○

      added the new optional request property

    • ○

      request property deprecated

    • ○

      response property is_public deprecated

    • ○

      response property is_public deprecated

    • ○

      added the required property to the response with the status

    • ○

      added the required property to the response with the status

    • ○

      endpoint added