Skip to content

Triggers API

Trigger endpoints 用于管理 trigger definitions、drafts、bulk operations 和 test helpers。

GET /api/triggers

返回带 optional filters 的 triggers。

Arguments:

ArgumentLocationDescription
projectQueryProject fullname filter.
workspaceQueryWorkspace fullname filter.

Payload: 无。

响应:TriggerView[]

GET /api/triggers/:fullname

返回 trigger。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: 无。

响应:TriggerDraftView

PUT /api/triggers/:fullname

创建或完整保存 trigger。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname. 必须与 payload.fullname 一致。

Payload:

FieldRequiredDescription
nameproject 内的 Trigger name。
fullnameTrigger fullname.
projectProject fullname.
workspaceWorkspace fullname.
backendBackend object。通常是 { type: "sdk", trigger, values }
inputsInput schema.
meta.title可见标题。
meta.description描述。
defaultsNotification defaults.
triggerSpecSource matching spec 或 null
providersArray of provider definitions.
filtersSchemaOptional filters schema.
outputSchemaHuman/raw output schema.
transformJavaScript transform 或 null
activationJavaScript activation condition 或 null
executionPolicyRuntime limits override object 或 null
status{ status, issue, source, updatedAt }.
tagsTags.
labelsLabels.

响应:TriggerDraftView

PATCH /api/triggers/:fullname

部分修改 trigger。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload:

FieldRequiredDescription
setOne ofObject with dotted paths and values to set.
unsetOne ofArray of dotted paths to remove.
dryRunIf true, validate patch without saving.

响应:TriggerPatchResult

DELETE /api/triggers/:fullname

删除 trigger。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: 无。

响应:OperationResult

POST /api/triggers/patch

对多个 triggers 执行 bulk patch。

Arguments: 无。

Payload:

FieldRequiredDescription
itemsArray of { fullname, set?, unset? }.
dryRunValidate without saving.

响应:TriggerBulkPatchResult

POST /api/triggers/remove

对多个 triggers 执行 bulk remove。

Arguments: 无。

Payload:

FieldRequiredDescription
fullnamesArray of trigger fullnames.
dryRunValidate without deleting.

响应:TriggerBulkRemoveResult

GET /api/triggers/:fullname/draft

返回 trigger draft view。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: 无。

响应:TriggerDraftView

PUT /api/triggers/:fullname/draft

保存 trigger draft。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: same shape as PUT /api/triggers/:fullname.

响应:TriggerDraftView

POST /api/triggers/:fullname/draft/validate

验证 trigger draft,但不执行最终保存。

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: same shape as trigger save payload.

响应:TriggerValidationResult

GET /api/triggers/:fullname/logs

返回 trigger 的聚合 delivery 失败和 source-pressure 事件。

参数:

参数位置说明
fullnamePathTrigger fullname。
limitQuery可选的最大日志条数。
statusQuery可选的 delivery 状态筛选。
directionQuery可选的分页方向:beforeafter
datetimeQuerydirection 一起使用的 ISO 时间。

Payload: 无。

响应包含 trigger 信息、subscription 统计和规范化日志。

POST /api/triggers/:fullname/reset-test-status

将 trigger 测试状态重置为 not_tested

参数:path 中的 fullname

Payload: 无。

响应:TriggerPatchResult

POST /api/triggers/preview

验证 provider definitions,在给定 input 上运行可选 activation 和 raw/human transforms,并验证结果 output。此操作不会保存 trigger。

Arguments: 无。

Payload:

FieldRequiredDescription
providersProvider definitions.
activationJavaScript activation condition 或 null
transformJavaScript transform object.
inputSource item/input for preview.
inputsTrigger input values.
providersData供 activation 和 transforms 使用的预计算 provider values。
outputSchema用于验证 preview 结果的 output schema。

响应:TriggerPreviewResult

POST /api/triggers/test

在 sample source item 上测试 trigger definition。

Arguments: 无。

Payload:

FieldRequiredDescription
triggerSpecSource matching spec.
providersProvider definitions.
transformJavaScript transform.
outputSchemaOutput schema.
activationActivation condition.
inputsInput values.
inputOne ofDirect test input.
testOne ofTest source/match object.

响应:TriggerTestResult

POST /api/triggers/test-block

在指定 block 上测试 trigger。

Arguments: 无。

Payload:

FieldRequiredDescription
triggerSpecSource matching spec.
providersProvider definitions.
transformJavaScript transform.
outputSchemaOutput schema.
blockBlock number.
itemIndexSource item index inside block.
activationActivation condition.
filtersSchemaFilters schema.
inputsInput values.

响应:TriggerTestResult

POST /api/triggers/providers/test

测试一个 provider。

Arguments: 无。

Payload:

FieldRequiredDescription
triggerSpecSource matching spec.
providerProvider definition.
projectProject fullname.
workspaceWorkspace fullname.
templateValuesTemplate values for provider placeholders.

响应:ProviderTestResult

GET /api/triggers/hypercore/actions

返回 trigger builder 可用的 HyperCore action 目录。

参数:无。

Payload: 无。

响应包含 actions 数组。

GET /api/triggers/runtime-sources

返回 trigger builder 可用的 runtime data sources。

Arguments: 无。

Payload: 无。

响应:RuntimeSource[]

GET /api/template-helpers

返回 trigger defaults 和订阅 action 模板可用的公开 Handlebars helper 元数据。无需身份验证。

参数:无。

请求体:无。

响应包含 handlebars.helpers 数组。每个 helper 都有唯一的 namedescription;块 helper 还包含 block: true,带命名选项的 helper 则包含由 nametype 组成的 params 数组。

POST /api/triggers/find-latest-block

为 trigger testing 查找 latest block/test input。

Arguments: 无。

Payload: trigger/source-specific search object.

响应:LatestBlockResult

Trigger Spec

triggerSpec describes source matching.

Supported variants:

TypeRequired fieldsOptional fields
evm_logtype, dataSourcecontract, event, abiFragment, topicsCount, dataBytes, testInput
evm_transactiontype, dataSourcetestInput
substrate_eventtype, dataSourcepallet, event, testInput
solana_eventtype, dataSourceprogramId, event, idl, testInput
timertype, intervaltestInput

Provider Definition

Each provider has id, type, optional weight, optional timeoutMs, and optional outputSchema.

Supported provider types:

TypeRequired fieldsMain optional fields
httpid, type, urlmethod, headers, queryParams, body
graphqlid, type, url, queryheaders, variables
rpc with transport: "endpoint"id, type, url, methodheaders, params, body
rpc with transport: "source"id, type, transport, methodparams
substrate_storageid, type, module, entrysource, args, block
evm_readid, type, contract, method, abiFragmentsource, abiContract, args
solana_accountid, type, accountsource, idl, programId, accountName, pda
state_windowid, type, dedupeBy, value, keepLastpartitionBy, valueType, aggregate
javascriptid, type, sourcevariables