LambdaTest prerun API

The prerun API from LambdaTest — 4 operation(s) for prerun.

OpenAPI Specification

lambdatest-prerun-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: TestMu AI SmartUI API Documentation Autoheal Command Logs prerun API
  version: 1.0.1
servers:
- url: https://api.lambdatest.com/automation/smart-ui
- url: https://eu-api.lambdatest.com/automation/smart-ui
tags:
- name: prerun
paths:
  /files:
    get:
      tags:
      - prerun
      summary: Fetch all pre run files uploaded by the user
      description: This API fetches all the pre run executable which are uploaded to our lambda storage.
      operationId: ListFiles
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPrerunFileResponse'
        401:
          description: Access denied. Auth error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDenied'
      security:
      - basicAuth: []
    post:
      tags:
      - prerun
      summary: Upload pre run executable file to our lambda storage
      description: In order to use pre run feature you first need to upload your relevant script files to our lambda storage. For every pre run action you need to upload 2 scripts (Pre run file and Post run file). Pre run file will be executed before starting the test and post run file will be executed after test is completed. If you perform any changes in test machine like changing host file, changing windows registry key, installing certificates, then your post run file should undo those changes
      operationId: UploadPrerun
      requestBody:
        description: To upload a new pre run executable files
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadPrerunPayload'
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePrerunResponse'
        401:
          description: Access denied. Auth error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InValidJson'
      security:
      - basicAuth: []
  /files/delete:
    delete:
      tags:
      - prerun
      summary: Delete pre run from our lambda storage
      description: This API deletes a pre run executable script from our lambda storage. Since pre run executable name should be unique, this API is useful if you want to re-upload your updated pre run script with the name same as the previous one.
      requestBody:
        description: To delete a pre run executable
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeletePrerunPayload'
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePrerunResponse'
        400:
          description: Invalid file path value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletePageNotFound'
        401:
          description: Access denied. Auth error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDenied'
      security:
      - basicAuth: []
  /files/validate:
    post:
      tags:
      - prerun
      summary: Check if the file is approved by Lambdatest
      description: Once the pre run executable is successfully uploaded, LambdaTest will check the script and approve it after successful verification. This API will tell if the file is approved or not
      requestBody:
        description: To check if the file is approved by Lambdatest
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValidatePrerunPayload'
      responses:
        200:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidatePrerunResponse'
        400:
          description: Invalid file path value
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidatePageNotFound'
        401:
          description: Access denied. Auth error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDenied'
      security:
      - basicAuth: []
  /files/download:
    put:
      tags:
      - prerun
      summary: Download pre run executable file.
      requestBody:
        description: To download a pre run executable
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadPrerunPayload'
      responses:
        200:
          description: Successful operation
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        400:
          description: Invalid file path value specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadPrerunPageNotFound'
        401:
          description: Access denied. Auth error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDenied'
      security:
      - basicAuth: []
components:
  schemas:
    ListPreRunResponse_data:
      type: object
      properties:
        name:
          type: string
          example: dialog_disable
          description: Name of the pre run
        last_modified_at:
          type: string
          example: '2020-08-02T06:46:08Z'
        size:
          type: number
          example: 104
          description: file size
        capability_url:
          type: string
          example: lambda:dialog_disable/pre/httpdialog.au3
          description: capability url
        file_path:
          type: string
          example: dialog_disable/pre/httpdialog.au3
          description: path of the file in lambda storage
    ValidatePrerunResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            post_run_file_path:
              type: string
              example: dialog_disable/post/httpdialogenable.au3
        message:
          type: string
          example: File exist in our lambda storage and is approved successfully
        staus:
          type: string
          example: success
    DownloadPrerunPayload:
      type: object
      required:
      - file_path
      properties:
        file_path:
          type: string
          example: dialog_disable/pre/httpdialog.au3
          description: file path of pre run file in our lambda storage. You can get file_path from the GET /files API
    ValidatePrerunPayload:
      type: object
      required:
      - file_path
      properties:
        file_path:
          type: string
          example: dialog_disable/pre/httpdialog.au3
          description: file path of pre run file in our lambda storage. You can get file_path from the GET /files API
    DownloadPrerunPageNotFound:
      type: object
      properties:
        message:
          type: string
          example: Error in downloading file from lambda storage
        status:
          type: string
          example: fail
    ListPrerunFileResponse:
      required:
      - Meta
      - data
      properties:
        Meta:
          $ref: '#/components/schemas/ListPrerunFileResponse_Meta'
        data:
          type: array
          items:
            $ref: '#/components/schemas/ListPreRunResponse_data'
    ValidatePageNotFound:
      type: object
      properties:
        message:
          type: string
          example: The script is not yet approved by our team
        status:
          type: string
          example: fail
    ListPrerunFileResponse_Meta:
      type: object
      properties:
        download_url:
          type: string
          example: http://api.lambdatest.com/automation/api/v1/files/download
          description: base download url path
        org_id:
          type: number
          example: 12345
        total:
          type: number
          example: 1
    UploadPrerunPayload:
      type: object
      required:
      - pre_run_file
      - name
      - post_run_file
      properties:
        pre_run_file:
          type: string
          format: binary
          description: If your script requires some reference to other file that needs to be present in our machines then you can upload multiple pre_run_file and download those files in your script using download API
        name:
          type: string
          example: MicrosoftEdgeZoom
          description: Name of your pre run executable
        post_run_file:
          type: string
          format: binary
          description: script file that will revert the actions performed by pre run file. If there is no post action that needs to performed then you can upload an empty file
    AccessDenied:
      type: string
      example: 'HTTP Basic: Access denied.'
    DeletePageNotFound:
      type: object
      properties:
        message:
          type: string
          example: File doesn't exist in lambda storage
        status:
          type: string
          example: fail
    DeletePrerunPayload:
      type: object
      required:
      - file_path
      properties:
        file_path:
          type: string
          example: dialog_disable/pre/httpdialog.au3
          description: file path of pre run file in our lambda storage. To delete a pre run, you can either specify pre_run or post_run file path. You can get file_path from the GET /files API
    DeletePrerunResponse:
      type: object
      properties:
        message:
          type: string
          example: File have been successfully deleted from our lambda storage
        status:
          type: string
          example: success
    UploadPrerunResposeData:
      type: object
      properties:
        file:
          type: string
          example: httpdialog.au3
        error:
          type: string
          example: ''
          description: error message if there is any error in uploading file. If file upload is success, then it will empty
    CreatePrerunResponse:
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/UploadPrerunResposeData'
        message:
          type: string
          example: Files have been uploaded successfully to our lambda storage
        status:
          type: string
          example: success
    InValidJson:
      type: object
      properties:
        message:
          type: string
          example: Oops! The name that you have provided already exists. Please use different name or delete this script first
        status:
          type: string
          example: fail
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic