Call list API endpoint
Call an API endpoint that returns a list of results
Ingredient Family: rowActionsIngredients
Outline Display: Call the list-returning endpoint named {{endpoint}} of {{apiName}} with the mappings: {{mapping}} and {{outputMapping}}
Then, for each list element returned, do: {{innerAction}}
Details
A call that does not go through fails the action rather than aborting the page it was triggered from, and the inner action runs for no element: a refusal is never answered with an empty list. 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. 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 the endpoint is part of
Set this to thenameof any top-levelapi:item (or the inlineapi:block on a service/authenticator). -
endpoint: endpoint ofapiName
the endpoint to send the 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
-
outputMapping: ingredient slot ofmappingIngredientsList(outputTable, $table, NULL)(many)
How to map API outputs to values we care about -
innerAction: ingredient slot ofrowActionsIngredients($table)(many)
The action(s) we will perform on each of the returned rows