Skip to content

Triggers API

Trigger endpoints gerem trigger definitions, drafts, bulk operations e test helpers.

GET /api/triggers

Devolve triggers com optional filters.

Arguments:

ArgumentLocationDescription
projectQueryProject fullname filter.
workspaceQueryWorkspace fullname filter.

Payload: nenhum.

Resposta: TriggerView[].

GET /api/triggers/:fullname

Devolve trigger.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: nenhum.

Resposta: TriggerDraftView.

PUT /api/triggers/:fullname

Cria ou guarda trigger completo.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname. Deve coincidir com payload.fullname.

Payload:

FieldRequiredDescription
nameSimTrigger name dentro do project.
fullnameSimTrigger fullname.
projectSimProject fullname.
workspaceSimWorkspace fullname.
backendSimBackend object. Normalmente { type: "sdk", trigger, values }.
inputsSimInput schema.
meta.titleSimTítulo visível.
meta.descriptionNãoDescrição.
defaultsNãoNotification defaults.
triggerSpecNãoSource matching spec ou null.
providersNãoArray of provider definitions.
filtersSchemaNãoOptional filters schema.
outputSchemaNãoHuman/raw output schema.
transformNãoJavaScript transform ou null.
activationNãoJavaScript activation condition ou null.
executionPolicyNãoRuntime limits override object ou null.
statusNão{ status, issue, source, updatedAt }.
tagsNãoTags.
labelsNãoLabels.

Resposta: TriggerDraftView.

PATCH /api/triggers/:fullname

Atualiza trigger parcialmente.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload:

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

Resposta: TriggerPatchResult.

DELETE /api/triggers/:fullname

Elimina trigger.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: nenhum.

Resposta: OperationResult.

POST /api/triggers/patch

Bulk patch para vários triggers.

Arguments: nenhum.

Payload:

FieldRequiredDescription
itemsSimArray of { fullname, set?, unset? }.
dryRunNãoValidate without saving.

Resposta: TriggerBulkPatchResult.

POST /api/triggers/remove

Bulk remove para vários triggers.

Arguments: nenhum.

Payload:

FieldRequiredDescription
fullnamesSimArray of trigger fullnames.
dryRunNãoValidate without deleting.

Resposta: TriggerBulkRemoveResult.

GET /api/triggers/:fullname/draft

Devolve draft view de trigger.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: nenhum.

Resposta: TriggerDraftView.

PUT /api/triggers/:fullname/draft

Guarda trigger draft.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

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

Resposta: TriggerDraftView.

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

Valida trigger draft sem guardar definitivamente.

Arguments:

ArgumentLocationDescription
fullnamePathTrigger fullname.

Payload: same shape as trigger save payload.

Resposta: TriggerValidationResult.

GET /api/triggers/:fullname/logs

Devolve falhas de delivery e eventos de source pressure agregados para um trigger.

Argumentos:

ArgumentoLocalizaçãoDescrição
fullnamePathFullname do trigger.
limitQueryNúmero máximo opcional de entradas.
statusQueryFiltro opcional por estado de delivery.
directionQueryDireção de paginação opcional: before ou after.
datetimeQueryTimestamp ISO usado com direction.

Payload: nenhum.

A resposta contém dados do trigger, estatísticas de subscriptions e logs normalizados.

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

Repõe o estado de teste do trigger para not_tested.

Argumentos: fullname no path.

Payload: nenhum.

Resposta: TriggerPatchResult.

POST /api/triggers/preview

Valida as definições de providers, executa a activation opcional e os transforms raw/human sobre o input fornecido, e valida o output resultante. Não guarda nenhum trigger.

Arguments: nenhum.

Payload:

FieldRequiredDescription
providersSimProvider definitions.
activationNãoCondição de activation JavaScript ou null.
transformSimJavaScript transform object.
inputSimSource item/input for preview.
inputsNãoTrigger input values.
providersDataNãoValores de providers já calculados para activation e transforms.
outputSchemaNãoOutput schema usada para validar o resultado do preview.

Resposta: TriggerPreviewResult.

POST /api/triggers/test

Testa trigger definition em sample source item.

Arguments: nenhum.

Payload:

FieldRequiredDescription
triggerSpecSimSource matching spec.
providersSimProvider definitions.
transformSimJavaScript transform.
outputSchemaSimOutput schema.
activationNãoActivation condition.
inputsNãoInput values.
inputOne ofDirect test input.
testOne ofTest source/match object.

Resposta: TriggerTestResult.

POST /api/triggers/test-block

Testa trigger num block específico.

Arguments: nenhum.

Payload:

FieldRequiredDescription
triggerSpecSimSource matching spec.
providersSimProvider definitions.
transformSimJavaScript transform.
outputSchemaSimOutput schema.
blockSimBlock number.
itemIndexNãoSource item index inside block.
activationNãoActivation condition.
filtersSchemaNãoFilters schema.
inputsNãoInput values.

Resposta: TriggerTestResult.

POST /api/triggers/providers/test

Testa um provider.

Arguments: nenhum.

Payload:

FieldRequiredDescription
triggerSpecSimSource matching spec.
providerSimProvider definition.
projectNãoProject fullname.
workspaceNãoWorkspace fullname.
templateValuesNãoTemplate values for provider placeholders.

Resposta: ProviderTestResult.

GET /api/triggers/hypercore/actions

Devolve o catálogo de actions HyperCore disponível no trigger builder.

Argumentos: nenhum.

Payload: nenhum.

A resposta contém um array actions.

GET /api/triggers/runtime-sources

Devolve runtime data sources disponíveis para trigger builder.

Arguments: nenhum.

Payload: nenhum.

Resposta: RuntimeSource[].

GET /api/template-helpers

Devolve metadados públicos dos helpers Handlebars disponíveis nos valores predefinidos dos triggers e nos templates de actions das subscrições. Não requer autenticação.

Argumentos: nenhum.

Payload: nenhum.

A resposta contém um array handlebars.helpers. Cada helper tem um name único e uma description; os helpers de bloco também têm block: true, e os helpers com opções nomeadas incluem um array params com name e type.

POST /api/triggers/find-latest-block

Encontra latest block/test input para trigger testing.

Arguments: nenhum.

Payload: trigger/source-specific search object.

Resposta: 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