Call API endpoint
Call a custom API endpoint
Ingredient Family: rowActionsIngredients
Outline Display: Call the endpoint named {{endpoint}} of {{apiName}} with the mapping: {{mapping}}{{blockedBodyPatterns:
Blocked body patterns: {{blockedBodyPatterns}}}}
Details
A call that does not go through fails the action rather than aborting the page it was triggered from. If the api’s provider requires a login and no credential is connected for this caller in this context, the step fails with a not-connected message naming connecting the service as the fix, and nothing is sent. A call the api refuses with HTTP 401 or 403 fails as unauthorized (sign in to that service again); any other refusal, and a host that cannot be reached, fail as a malfunction. In each case the rest of the pipeline does not run.
blockedBodyPatterns scans the step’s mapped input values – the arguments about to go out, serialized as one JSON object, which is the step’s equivalent of the argument payload the Call API endpoint tool scans – before the credential is looked up and before anything is sent. A match fails the step as blocked, and the audit line carries no arguments, so the content that tripped the scan never lands in the log.
The mapping may be omitted when the row already carries the endpoint’s arguments under their own names: an argument no entry names is filled from the row’s column of that name, so a mapping spells only what it renames or computes. A file or point argument is never filled that way and always needs its own entry. Inside a tool’s row action an argument no column supplies is not an error: it becomes a new argument of the tool, described from the endpoint argument it feeds, so a name meant to match a column and missing it silently grows an argument the caller must fill.
Local scope
The parent slot binds these (look up the slot in the parent to see how):
$table– The table to act on
Names introduced within this component’s knobs:
inputTable– request shape ofendpoint(chosen underapiName)outputTable– response shape ofendpoint(chosen underapiName)mappingResult– empty table populated by ingredientsNULL– empty table populated by ingredients
Settings
Required
-
apiName: API connection
the API
Set this to thenameof any top-levelapi:item (or the inlineapi:block on a service/authenticator). -
endpoint: endpoint ofapiName
the endpoint to send the POST request to
Set this to theNameof an entry underwrappedEndpoints:on the referencedapi:item, or to thenameof a rawendpoints:entry that has no hand-written wrapper: every such endpoint automatically gets an identity wrapper of the same name (each parameter an argument, each response field revealed, with any character other than letters, digits,_, and-in a name replaced by an underscore, so the flattened pathpayload.notebecomespayload_note). Do not write identity wrappers by hand; write awrappedEndpoints:entry only to restrict or reshape an endpoint, and note that doing so replaces its automatic wrapper. -
mapping: ingredient slot ofmappingIngredientsList($table, mappingResult, inputTable)(many, untilinputTable=mappingResult)
How to map available field values to the endpoint’s inputs
Optional
-
blockedBodyPatterns: constant value (type: text; optional)
Regex matched against the endpoint arguments this step is about to send (the mapped input values, as one JSON object); if it matches, the step fails and nothing is sent. Combine multiple secret/PII patterns with regex alternation. Leave blank to disable scanning. -
outputMapping: ingredient slot ofmappingIngredientsList(outputTable, $table, NULL)(many)
How to map endpoint outputs to the fields we will set