Search for Lambdas
This API has been available since 1.45.0
This API is used to search for Lambdas and may be called using the GET or POST HTTP methods. Examples of each are provided below. The POST method is provided to allow for a richer request object without worrying about exceeding the maximum length of a URL. Calling this API with either the GET or POST HTTP method will provide the same search results given the same query parameters.
Request#
Request Parameters#
bodyStringoptionalThe case-insensitive string to search for in the Lambda function body. This can contain wildcards using the asterisk character (*). If no wildcards are present, the search criteria will be interpreted as *value*.
nameStringoptionalThe case-insensitive string to search for in the Lambda name. This can contain wildcards using the asterisk character (*). If no wildcards are present, the search criteria will be interpreted as *value*.
numberOfResultsIntegeroptionalDefaults to 25The number of results to return from the search.
orderByStringoptionalDefaults to name ASCThe database field to order the search results as well as an order direction.
The possible values are:
id- the unique Id of the LambdainsertInstant- the instant when the Lambda was createdname- the Lambda nameengineType- the JavaScript execution engine for the LambdaGraalJSNashornDeprecated since 1.35.0, Removed in 1.49.0
The order direction is optional. Possible values of the order direction are ASC or DESC. If omitted, the default sort order is ASC.
For example, to order the results by the insert instant in a descending order, use insertInstant DESC.
startRowIntegeroptionalDefaults to 0The offset into the total results. In order to paginate the results, increment this value by the numberOfResults for subsequent requests.
For example, if the total search results are greater than the page size designated by numberOfResults, set this value to 25 to retrieve results 26-50, assuming the default page size.
typeStringThe lambda type. The possible values are:
AppleReconcileAvailable since 1.17.0ClientCredentialsJWTPopulateAvailable since 1.28.0EpicGamesReconcileAvailable since 1.28.0ExternalJWTReconcileAvailable since 1.17.0FacebookReconcileAvailable since 1.17.0GoogleReconcileAvailable since 1.17.0HYPRReconcileAvailable since 1.17.0JWTPopulateLDAPConnectorReconcileAvailable since 1.18.0LinkedInReconcileAvailable since 1.23.0LoginValidationAvailable since 1.53.0MFARequirementAvailable since 1.62.0NintendoReconcileAvailable since 1.36.0OpenIDReconcileSAMLv2PopulateSAMLv2ReconcileSCIMGroupRequestConverterAvailable since 1.36.0SCIMGroupResponseConverterAvailable since 1.36.0SCIMUserRequestConverterAvailable since 1.36.0SCIMUserResponseConverterAvailable since 1.36.0SelfServiceRegistrationValidationAvailable since 1.43.0SonyPSNReconcileAvailable since 1.28.0SteamReconcileAvailable since 1.28.0TwitchReconcileAvailable since 1.28.0TwitterReconcileAvailable since 1.17.0UserInfoPopulateAvailable since 1.50.0XboxReconcileAvailable since 1.28.0
OpenAPI Spec
When calling the API using a POST request you will send the search criteria in a JSON request body.
Request Body#
search.bodyStringoptionalThe case-insensitive string to search for in the Lambda function body. This can contain wildcards using the asterisk character (*). If no wildcards are present, the search criteria will be interpreted as *value*.
search.nameStringoptionalThe case-insensitive string to search for in the Lambda name. This can contain wildcards using the asterisk character (*). If no wildcards are present, the search criteria will be interpreted as *value*.
search.numberOfResultsIntegeroptionalDefaults to 25The number of results to return from the search.
search.orderByStringoptionalDefaults to name ASCThe database field to order the search results as well as an order direction.
The possible values are:
id- the unique Id of the LambdainsertInstant- the instant when the Lambda was createdname- the Lambda nameengineType- the JavaScript execution engine for the LambdaGraalJSNashornDeprecated since 1.35.0, Removed in 1.49.0
The order direction is optional. Possible values of the order direction are ASC or DESC. If omitted, the default sort order is ASC.
For example, to order the results by the insert instant in a descending order, use insertInstant DESC.
search.startRowIntegeroptionalDefaults to 0The offset into the total results. In order to paginate the results, increment this value by the numberOfResults for subsequent requests.
For example, if the total search results are greater than the page size designated by numberOfResults, set this value to 25 to retrieve results 26-50, assuming the default page size.
search.typeStringThe lambda type. The possible values are:
AppleReconcileAvailable since 1.17.0ClientCredentialsJWTPopulateAvailable since 1.28.0EpicGamesReconcileAvailable since 1.28.0ExternalJWTReconcileAvailable since 1.17.0FacebookReconcileAvailable since 1.17.0GoogleReconcileAvailable since 1.17.0HYPRReconcileAvailable since 1.17.0JWTPopulateLDAPConnectorReconcileAvailable since 1.18.0LinkedInReconcileAvailable since 1.23.0LoginValidationAvailable since 1.53.0MFARequirementAvailable since 1.62.0NintendoReconcileAvailable since 1.36.0OpenIDReconcileSAMLv2PopulateSAMLv2ReconcileSCIMGroupRequestConverterAvailable since 1.36.0SCIMGroupResponseConverterAvailable since 1.36.0SCIMUserRequestConverterAvailable since 1.36.0SCIMUserResponseConverterAvailable since 1.36.0SelfServiceRegistrationValidationAvailable since 1.43.0SonyPSNReconcileAvailable since 1.28.0SteamReconcileAvailable since 1.28.0TwitchReconcileAvailable since 1.28.0TwitterReconcileAvailable since 1.17.0UserInfoPopulateAvailable since 1.50.0XboxReconcileAvailable since 1.28.0
Example JSON Request
{
"search": {
"name": "SAML",
"body": "roles",
"type": "SAMLv2Reconcile",
"numberOfResults": 25,
"orderBy": "insertInstant",
"startRow": 0
}
}
Response#
The response for this API contains the Lambdas matching the search criteria in paginated format.
Response Codes| Code | Description |
|---|---|
| 200 | The request was successful. The response will contain a JSON body. |
| 400 | The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present. |
| 401 | You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication. |
| 500 | There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |
Response Body#
lambdasArrayThe list of Lambda objects.
lambdas[x].bodyStringThe lambda function body, a JavaScript function.
lambdas[x].debugBooleanWhether or not debug event logging is enabled for this Lambda.
lambdas[x].enabledBooleanDEPRECATEDThis value is not used, and may be removed in a future version.
lambdas[x].engineTypeStringThe JavaScript execution engine for the lambda. The possible values are:
GraalJSNashornDeprecated since 1.35.0, Removed in 1.49.0
lambdas[x].idUUIDThe Id of the Lambda.
lambdas[x].insertInstantLongThe instant that the lambda created.
lambdas[x].lastUpdateInstantLongThe instant that the lambda was last updated.
lambdas[x].nameStringThe name of the lambda.
lambdas[x].typeStringThe lambda type. The possible values are:
AppleReconcileClientCredentialsJWTPopulateEpicGamesReconcileExternalJWTReconcileFacebookReconcileGoogleReconcileHYPRReconcileJWTPopulateLDAPConnectorReconcileLinkedInReconcileLoginValidationMFARequirementNintendoReconcileOpenIDReconcileSAMLv2PopulateSAMLv2ReconcileSCIMGroupRequestConverterSCIMGroupResponseConverterSCIMUserRequestConverterSCIMUserResponseConverterSelfServiceRegistrationValidationSonyPSNReconcileSteamReconcileTwitchReconcileTwitterReconcileUserInfoPopulateXboxReconcile
totalIntegerThe total number of Lambdas matching the search criteria. Use this value along with the numberOfResults and startRow in the Search request to perform pagination.
Example Response JSON for Lambda Search
{
"lambdas": [
{
"id": "7e66bac3-fa41-47fb-b8fd-12b35b5e1807",
"body": "function reconcile(user, registration, samlResponse) { registration.roles = samlResponse.assertion.attributes['roles'] || [];}",
"name": "SAML Reconcile",
"debug": false,
"enabled": true,
"engineType": "GraalJS",
"insertInstant": 1572469040579,
"lastUpdateInstant": 1595361143101,
"type": "SAMLv2Reconcile"
}
],
"total": 1
}