FruxonDocs
Agent NetworkTriggers

Partial update

Applies a partial update: only the non-null fields of the request are written. `Kind` is immutable. Agent bindings are managed through the nested `bindings` sub-resource, not this endpoint.

PATCH
/v1/tenants/{tenant}/triggers/{trigger}
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

trigger*string

The trigger identifier.

Formatuuid
tenant*string

The tenant identifier

The patch payload — null fields are left unchanged.

integrationConfigId?string|null

Repoint the trigger at a different TenantIntegrationConfig (one Slack workspace to another). The integration id itself is immutable — switching providers is a recreate, not an update. Null means "leave alone" (consistent with the rest of this DTO); clearing the pin isn't supported here.

Formatuuid
displayName?string|null
active?boolean|null
timeout?integer|null
Formatint32
Range60 <= value <= 2147483647
scheduleFrequency?string
Value in"UNSPECIFIED" | "DAILY" | "WEEKLY" | "MONTHLY" | "INTERVAL"
scheduleDay?string
Value in"UNSPECIFIED" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"
scheduleDayOfMonth?integer|null
Formatint32
scheduleHour?string|null
scheduleMinute?string|null
scheduleTimes?|null

Multiple intra-day fire times for a Daily schedule. Null leaves the stored list untouched (patch semantics, like the rest of this DTO); a non-null list replaces it. Pass an empty list to clear back to the single scalar time. Only valid for Daily; entries must be ≥30 minutes apart.

intervalValue?integer|null
Formatint32
intervalUnit?string
Value in"UNSPECIFIED" | "MINUTES" | "HOURS" | "DAYS"
timezone?string|null
filter?

Content filter patch. Null leaves the stored filter untouched (consistent with the rest of this DTO). An explicit filter replaces it; an explicit filter with no conditions clears it back to fire-always. Only valid on Fruxon.Model.Triggers.TriggerKind.IntegrationEvent triggers. See Fruxon.Model.Triggers.TriggerEventFilter.

workShape?

Work-shape patch. Follows the same semantics as Fruxon.Model.Triggers.UpdateTriggerRequest.Filter: null leaves the stored work shape untouched, an explicit value replaces it. Clearing a work shape is deliberately NOT expressible here — it would orphan a live ledger's items behind an automation that no longer admits, and the operator verb for that is drain, not a silent PATCH. Only valid on Fruxon.Model.Triggers.TriggerKind.Schedule triggers in V0.

bindings?|null

When non-null, fully replaces the trigger's bindings + mappings: agents in the list are kept or added; bindings missing from the list are removed; for agents that appear in both before and after, the mapping list is replaced wholesale. Null leaves bindings + mappings untouched, consistent with the rest of this patch DTO. The existing per-binding endpoints (PUT/DELETE /triggers/{id}/bindings/{agent}) stay available for atomic single-binding membership tweaks without touching mappings.

[key: string]?never

Response Body

curl -X PATCH "https://api.fruxon.com/v1/tenants/string/triggers/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "00000000-0000-0000-0000-000000000000",
  "networkId": "00000000-0000-0000-0000-000000000000",
  "kind": "SCHEDULE",
  "integrationId": "string",
  "integrationConfigId": "00000000-0000-0000-0000-000000000000",
  "eventType": "string",
  "displayName": "string",
  "active": false,
  "timeout": 0,
  "scheduleFrequency": "DAILY",
  "scheduleDay": "MONDAY",
  "scheduleDayOfMonth": 0,
  "scheduleHour": "string",
  "scheduleMinute": "string",
  "scheduleTimes": [
    {
      "hour": 0,
      "minute": 0
    }
  ],
  "intervalValue": 0,
  "intervalUnit": "MINUTES",
  "timezone": "string",
  "filter": {
    "match": "ALL",
    "conditions": [
      {
        "path": "string",
        "operator": "UNSPECIFIED",
        "value": "string",
        "values": null,
        "caseSensitive": false
      }
    ]
  },
  "workShape": {
    "door": {
      "doorId": "string",
      "integrationConfigId": "string",
      "query": "string"
    },
    "source": {
      "kind": "TOOL",
      "ragAssetId": "string",
      "ragReadMode": "DOCUMENTS",
      "ragSearch": "string",
      "pageSize": 0,
      "integrationConfigId": "string",
      "listToolId": "string",
      "getToolId": "string",
      "recordsPath": "string",
      "cursorParamName": "string",
      "parameters": {},
      "itemIdPath": "string",
      "sinkTargetPath": "string",
      "skipWhen": {
        "match": "UNSPECIFIED",
        "conditions": []
      },
      "sourceUrlPath": "string",
      "cursorPath": "string",
      "watermarkParamName": "string",
      "watermarkFormat": "RAW",
      "overlapWindowMs": 0,
      "flattenSheetRows": false
    },
    "stages": [
      {
        "id": "string",
        "displayName": "string",
        "kind": "UNSPECIFIED",
        "agentId": "string",
        "instruction": "string",
        "ask": null,
        "sink": null,
        "actionTypeCeiling": null,
        "claimLimit": null,
        "parameters": [],
        "produces": [],
        "requires": [],
        "dedupeKey": []
      }
    ],
    "parameters": [
      {
        "name": "string",
        "value": "string",
        "description": "string"
      }
    ],
    "policy": {
      "claimLimit": 0,
      "maxAttempts": 0,
      "leaseSeconds": 0,
      "actionTypeCeiling": "READ_ONLY",
      "effectiveClaimLimit": 1,
      "effectiveMaxAttempts": 1,
      "effectiveLeaseSeconds": 1
    }
  },
  "createdAt": 0,
  "modifiedAt": 0,
  "lastFiredAt": 0,
  "hasWebhookKey": false,
  "webhookOwnership": "PER_BINDING",
  "agentIds": [
    "string"
  ],
  "bindings": [
    {
      "agentId": "string",
      "parameterMappings": [],
      "environmentSlug": "string",
      "outputBindingId": "00000000-0000-0000-0000-000000000000",
      "outputDestination": {
        "bindingId": "00000000-0000-0000-0000-000000000000",
        "participantId": "00000000-0000-0000-0000-000000000000",
        "integrationConfigId": "00000000-0000-0000-0000-000000000000",
        "provider": "string",
        "address": "string"
      },
      "defaultOutputDestinations": []
    }
  ]
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}