Create a Lambda API

On this page

Use this API to create a Lambda.

Request#

Global API Key Authentication
Create a Lambda with a randomly generated Id
POST/api/lambda
OpenAPI Spec
Global API Key Authentication
Create a Lambda with the provided unique Id
POST/api/lambda/{lambdaId}
OpenAPI Spec

Request Parameters#

lambdaId
  • Type: UUID
  • Optional
  • Defaults to secure random UUID
  • Immutable

The Id to use for the new Lambda. If not specified a secure random UUID will be generated.

Request Body#

lambda.body
  • Type: String
  • Required

The lambda function body, a JavaScript function.

lambda.debug
  • Type: Boolean
  • Optional
  • Defaults to false

Whether or not debug event logging is enabled for this Lambda.

lambda.enabled
  • Type: Boolean
  • Optional
  • Defaults to true
  • Deprecated

This value is not used, and may be removed in a future version.

lambda.engineType
  • Type: String
  • Required
  • Defaults to GraalJS
  • Available since 1.35.0

The JavaScript execution engine for the lambda. The possible values are:

  • GraalJS
  • Nashorn Deprecated since 1.35.0, Removed in 1.49.0
lambda.name
  • Type: String
  • Required

The name of the lambda.

lambda.type
  • Type: String
  • Required

The lambda type. The possible values are:

  • AppleReconcileAvailable since 1.17.0
  • CimdClientRegistrationAvailable since 1.70.0
  • ClientCredentialsJWTPopulateAvailable since 1.28.0
  • EpicGamesReconcileAvailable since 1.28.0
  • ExternalJWTReconcileAvailable since 1.17.0
  • FacebookReconcileAvailable since 1.17.0
  • GoogleReconcileAvailable since 1.17.0
  • HYPRReconcileAvailable since 1.17.0
  • JWTPopulate
  • LDAPConnectorReconcileAvailable since 1.18.0
  • LinkedInReconcileAvailable since 1.23.0
  • LoginValidationAvailable since 1.53.0
  • MFARequirementAvailable since 1.62.0
  • NintendoReconcileAvailable since 1.36.0
  • OpenIDReconcile
  • SAMLv2Populate
  • SAMLv2Reconcile
  • SCIMGroupRequestConverterAvailable since 1.36.0
  • SCIMGroupResponseConverterAvailable since 1.36.0
  • SCIMUserRequestConverterAvailable since 1.36.0
  • SCIMUserResponseConverterAvailable since 1.36.0
  • SelfServiceRegistrationValidationAvailable since 1.43.0
  • SonyPSNReconcileAvailable since 1.28.0
  • SteamReconcileAvailable since 1.28.0
  • TwitchReconcileAvailable since 1.28.0
  • TwitterReconcileAvailable since 1.17.0
  • UserInfoPopulateAvailable since 1.50.0
  • XboxReconcileAvailable since 1.28.0
Example Request JSON
{
  "lambda": {
    "body": "function reconcile(user, registration, samlResponse) { registration.roles = samlResponse.assertion.attributes['roles'] || [];}",
    "debug": false,
    "engineType": "GraalJS",
    "name": "Name",
    "type": "SAMLv2Reconcile"
  }
}

Response#

The response for this API contains the Lambda that was created.

Response Codes
CodeDescription
200The request was successful. The response will contain a JSON body.
400The 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.
401You 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.
500There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty.

Response Body#

lambda.body
  • Type: String

The lambda function body, a JavaScript function.

lambda.debug
  • Type: Boolean

Whether or not debug event logging is enabled for this Lambda.

lambda.enabled
  • Type: Boolean
  • Deprecated

This value is not used, and may be removed in a future version.

lambda.engineType
  • Type: String

The JavaScript execution engine for the lambda. The possible values are:

  • GraalJS
  • Nashorn Deprecated since 1.35.0, Removed in 1.49.0
lambda.id
  • Type: UUID

The Id of the Lambda.

lambda.insertInstant
  • Type: Long

The instant that the lambda created.

lambda.lastUpdateInstant
  • Type: Long

The instant that the lambda was last updated.

lambda.name
  • Type: String

The name of the lambda.

lambda.type
  • Type: String

The lambda type. The possible values are:

  • AppleReconcile
  • CimdClientRegistration
  • ClientCredentialsJWTPopulate
  • EpicGamesReconcile
  • ExternalJWTReconcile
  • FacebookReconcile
  • GoogleReconcile
  • HYPRReconcile
  • JWTPopulate
  • LDAPConnectorReconcile
  • LinkedInReconcile
  • LoginValidation
  • MFARequirement
  • NintendoReconcile
  • OpenIDReconcile
  • SAMLv2Populate
  • SAMLv2Reconcile
  • SCIMGroupRequestConverter
  • SCIMGroupResponseConverter
  • SCIMUserRequestConverter
  • SCIMUserResponseConverter
  • SelfServiceRegistrationValidation
  • SonyPSNReconcile
  • SteamReconcile
  • TwitchReconcile
  • TwitterReconcile
  • UserInfoPopulate
  • XboxReconcile
Example Response JSON
{
  "lambda": {
    "id": "7e66bac3-fa41-47fb-b8fd-12b35b5e1807",
    "body": "function reconcile(user, registration, samlResponse) { registration.roles = samlResponse.assertion.attributes['roles'] || [];}",
    "name": "Name",
    "debug": false,
    "enabled": true,
    "engineType": "GraalJS",
    "insertInstant": 1572469040579,
    "lastUpdateInstant": 1595361143101,
    "type": "SAMLv2Reconcile"
  }
}