Workflows

Update workflow

Changed on

Updates a workflow. This can currently be used to cancel a workflow or override metadata and/or tags

put/v2/consumer/workflows/{workflowId}

Request

  • The document declares no server URL.
  • Auth: none required

Path parameters

workflowIdstring required

Query parameters

whatifboolean

Whether to apply the update or return what it would cost.

Request body

status'canceled'
metadataobject nullable
tagsstring[] nullable
allowMatureContentboolean nullable

Set to true to remove the mature content restriction on the workflow.

downloadPriority'high' | 'normal' | 'low' | 'idle'

Response

OK

idstring nullable
createdAtstring date-time required
metadataobject required
status'unassigned' | 'preparing' | 'scheduled' | 'processing' | 'succeeded' | 'failed' | 'expired' | 'canceled' required
startedAtstring date-time nullable
completedAtstring date-time nullable
tagsstring[] required

Indexed for searching; at most 10 per workflow.

argumentsobject required
nsfwLevel'pg' | 'pg13' | 'r' | 'x' | 'xxx' | 'na'
experimentalboolean nullable

Opts the workflow in to new features or behaviours that are not yet stable.

allowMatureContentboolean nullable
upgradeMode'manual' | 'automatic' required

Specifies how a workflow should be upgraded when mature content is detected and green or blue buzz was used for payment.

currenciesBuzzClientAccount[] required
forceRefundedboolean required

Whether this workflow has been force-refunded. Prevents re-charging on grain recovery.

ephemeralboolean nullable

Not persisted to telemetry/MongoDB; in-flight state lives only in grain state and nothing remains once terminal.

externalIdstring nullable

Client-supplied idempotency key, stored as "{userId}-{clientValue}" so the unique index is single-field yet per-user. See Civitai.Orchestration.Grains.Workflows.WorkflowTemplate.ExternalId.

lostBlobsRefundinteger nullable

Net buzz refunded for deliverable blobs lost in the 2026-06-12 storage incident. Null = not yet checked, 0 = intact; a value > 0 also prevents re-charging on recovery.

deletedAtstring date-time nullable

Soft delete: the telemetry document is kept until its TTL for operators, but consumer reads treat the workflow as gone.

downloadPriority'high' | 'normal' | 'low' | 'idle'
tier'paid' | 'free' required

How a workflow is paid for.

Example response

{
  "callbacks": [
    {
      "type": [
        "workflow:succeeded"
      ]
    }
  ]
}

Changes

    • info

      added liveTextToSpeech promptModeration discriminator mapping keys to the / response property for the response status

    • warning

      added the new idle enum value to the response property for the response status

    • warning

      added the new idle enum value to the //// response property for the response status

    • warning

      added the new idle enum value to the // response property for the response status

    • info

      added the new idle enum value to the request property (media type: application/json)

    • info

      added the new idle enum value to the request property (media type: text/json)

    • info

      added the new idle enum value to the request property (media type: application/*+json)

    • info

      added liveTranscription merge discriminator mapping keys to the / response property for the response status

    • info

      added the required property to the response with the status