FusionAuth Lambda API

The Lambda API from FusionAuth — 3 operation(s) for lambda.

OpenAPI Specification

fusionauth-lambda-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 1.66.0
  title: FusionAuth Api Key Lambda API
  description: This is a FusionAuth server. Find out more at [https://fusionauth.io](https://fusionauth.io). You need to [set up an API key](https://fusionauth.io/docs/v1/tech/apis/authentication#managing-api-keys) in the FusionAuth instance you are using to test out the API calls.
  license:
    name: Apache2
servers:
- url: http://localhost:9011
- url: https://sandbox.fusionauth.io
security:
- ApiKeyAuth: []
tags:
- name: Lambda
paths:
  /api/lambda:
    post:
      description: Creates a Lambda. You can optionally specify an Id for the lambda, if not provided one will be generated.
      operationId: createLambda
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LambdaRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
    get:
      description: Retrieves all the lambdas for the provided type.
      operationId: retrieveLambdasByTypeWithId
      parameters:
      - name: type
        in: query
        schema:
          type: string
        description: The type of the lambda to return.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaResponse'
        default:
          description: Error
      tags:
      - Lambda
  /api/lambda/search:
    post:
      description: Searches lambdas with the specified criteria and pagination.
      operationId: searchLambdasWithId
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LambdaSearchRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaSearchResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
  /api/lambda/{lambdaId}:
    post:
      description: Creates a Lambda. You can optionally specify an Id for the lambda, if not provided one will be generated.
      operationId: createLambdaWithId
      parameters:
      - name: lambdaId
        in: path
        schema:
          type: string
        required: true
        description: The Id for the lambda. If not provided a secure random UUID will be generated.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LambdaRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
    delete:
      description: Deletes the lambda for the given Id.
      operationId: deleteLambdaWithId
      parameters:
      - name: lambdaId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the lambda to delete.
      responses:
        '200':
          description: Success
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
    patch:
      description: Updates, via PATCH, the lambda with the given Id.
      operationId: patchLambdaWithId
      parameters:
      - name: lambdaId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the lambda to update.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LambdaRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
    get:
      description: Retrieves the lambda for the given Id.
      operationId: retrieveLambdaWithId
      parameters:
      - name: lambdaId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the lambda.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
    put:
      description: Updates the lambda with the given Id.
      operationId: updateLambdaWithId
      parameters:
      - name: lambdaId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the lambda to update.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LambdaRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LambdaResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Lambda
components:
  schemas:
    Lambda:
      description: A JavaScript lambda function that is executed during certain events inside FusionAuth.
      type: object
      properties:
        body:
          type: string
        debug:
          type: boolean
        engineType:
          $ref: '#/components/schemas/LambdaEngineType'
        id:
          type: string
          format: uuid
        insertInstant:
          $ref: '#/components/schemas/ZonedDateTime'
        lastUpdateInstant:
          $ref: '#/components/schemas/ZonedDateTime'
        name:
          type: string
        type:
          $ref: '#/components/schemas/LambdaType'
    Errors:
      description: Standard error domain object that can also be used as the response from an API call.
      type: object
      properties:
        fieldErrors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        generalErrors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    ZonedDateTime:
      description: 'The number of milliseconds since the unix epoch: January 1, 1970 00:00:00 UTC. This value is always in UTC.'
      example: '1659380719000'
      type: integer
      format: int64
    LambdaSearchRequest:
      description: Search request for Lambdas
      type: object
      properties:
        search:
          $ref: '#/components/schemas/LambdaSearchCriteria'
    Error:
      description: Defines an error.
      type: object
      properties:
        code:
          type: string
        data:
          type: object
          additionalProperties:
            type: object
        message:
          type: string
    LambdaEngineType:
      description: ''
      type: string
      enum:
      - GraalJS
      - Nashorn
    LambdaResponse:
      description: Lambda API response object.
      type: object
      properties:
        lambda:
          $ref: '#/components/schemas/Lambda'
        lambdas:
          type: array
          items:
            $ref: '#/components/schemas/Lambda'
    LambdaSearchResponse:
      description: Lambda search response
      type: object
      properties:
        lambdas:
          type: array
          items:
            $ref: '#/components/schemas/Lambda'
        total:
          type: integer
          format: int64
    LambdaType:
      description: The types of lambdas that indicate how they are invoked by FusionAuth.
      type: string
      enum:
      - JWTPopulate
      - OpenIDReconcile
      - SAMLv2Reconcile
      - SAMLv2Populate
      - AppleReconcile
      - ExternalJWTReconcile
      - FacebookReconcile
      - GoogleReconcile
      - HYPRReconcile
      - TwitterReconcile
      - LDAPConnectorReconcile
      - LinkedInReconcile
      - EpicGamesReconcile
      - NintendoReconcile
      - SonyPSNReconcile
      - SteamReconcile
      - TwitchReconcile
      - XboxReconcile
      - ClientCredentialsJWTPopulate
      - SCIMServerGroupRequestConverter
      - SCIMServerGroupResponseConverter
      - SCIMServerUserRequestConverter
      - SCIMServerUserResponseConverter
      - SelfServiceRegistrationValidation
      - UserInfoPopulate
      - LoginValidation
      - MFARequirement
    LambdaRequest:
      description: Lambda API request object.
      type: object
      properties:
        lambda:
          $ref: '#/components/schemas/Lambda'
    LambdaSearchCriteria:
      description: Search criteria for Lambdas
      type: object
      properties:
        body:
          type: string
        name:
          type: string
        type:
          $ref: '#/components/schemas/LambdaType'
        numberOfResults:
          type: integer
        orderBy:
          type: string
        startRow:
          type: integer
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: Authorization
      in: header
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT