# Create a Lambda API API documentation for the FusionAuth Create a Lambda API. > For the index of this section of the site, see [llms.txt](https://4002.18-224-161-104.sslip.io/docs/llms.txt) Use this API to create a Lambda. ## Request [Global API Key Authentication](https://4002.18-224-161-104.sslip.io/docs/apis/authentication.md#global-api-key-authentication) Create a Lambda with a randomly generated Id `POST /api/lambda` [Global API Key Authentication](https://4002.18-224-161-104.sslip.io/docs/apis/authentication.md#global-api-key-authentication) Create a Lambda with the provided unique Id `POST /api/lambda/{lambdaId}` ### 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: * `AppleReconcile`Available since `1.17.0` * `CimdClientRegistration`Available since `1.70.0` * `ClientCredentialsJWTPopulate`Available since `1.28.0` * `EpicGamesReconcile`Available since `1.28.0` * `ExternalJWTReconcile`Available since `1.17.0` * `FacebookReconcile`Available since `1.17.0` * `GoogleReconcile`Available since `1.17.0` * `HYPRReconcile`Available since `1.17.0` * `JWTPopulate` * `LDAPConnectorReconcile`Available since `1.18.0` * `LinkedInReconcile`Available since `1.23.0` * `LoginValidation`Available since `1.53.0` * `MFARequirement`Available since `1.62.0` * `NintendoReconcile`Available since `1.36.0` * `OpenIDReconcile` * `SAMLv2Populate` * `SAMLv2Reconcile` * `SCIMGroupRequestConverter`Available since `1.36.0` * `SCIMGroupResponseConverter`Available since `1.36.0` * `SCIMUserRequestConverter`Available since `1.36.0` * `SCIMUserResponseConverter`Available since `1.36.0` * `SelfServiceRegistrationValidation`Available since `1.43.0` * `SonyPSNReconcile`Available since `1.28.0` * `SteamReconcile`Available since `1.28.0` * `TwitchReconcile`Available since `1.28.0` * `TwitterReconcile`Available since `1.17.0` * `UserInfoPopulate`Available since `1.50.0` * `XboxReconcile`Available since `1.28.0` Example Request JSON ```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* | 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](https://4002.18-224-161-104.sslip.io/docs/apis/errors.md) 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](https://4002.18-224-161-104.sslip.io/docs/apis/authentication.md). | | 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 `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](https://4002.18-224-161-104.sslip.io/docs/reference/data-types.md#instants) that the lambda created. `lambda.lastUpdateInstant` * Type: `Long` The [instant](https://4002.18-224-161-104.sslip.io/docs/reference/data-types.md#instants) 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 ```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" } } ``` Related [APIs Delete a Lambda API API documentation for the FusionAuth Delete a Lambda API. fusionauth apirest apihttp api](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/delete-a-lambda.md) [APIs Lambda API Learn about the APIs for creating, retrieving, updating and deleting lambdas. fusionauth apirest apihttp api](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas.md) [APIs Retrieve a Lambda API API documentation for the FusionAuth Retrieve a Lambda API. fusionauth apirest apihttp api](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/retrieve-a-lambda.md) [APIs Search for Lambdas API API documentation for the FusionAuth Search for Lambdas API. fusionauth apirest apihttp api](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/search-for-lambdas.md) --- ## Other pages in Lambdas > For the full index of this section, see [Apis](https://4002.18-224-161-104.sslip.io/docs/llms-apis.txt). - [Delete a Lambda API](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/delete-a-lambda.md): API documentation for the FusionAuth Delete a Lambda API. - [Lambda API](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas.md): Learn about the APIs for creating, retrieving, updating and deleting lambdas. - [Retrieve a Lambda API](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/retrieve-a-lambda.md): API documentation for the FusionAuth Retrieve a Lambda API. - [Search for Lambdas API](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/search-for-lambdas.md): API documentation for the FusionAuth Search for Lambdas API. - [Update a Lambda API](https://4002.18-224-161-104.sslip.io/docs/apis/lambdas/update-a-lambda.md): API documentation for the FusionAuth Update a Lambda API.