WinsurTech Form Cruise API

API Base URL: https://formcruise.com/

Terms and Conditions: https://winsurtech.com/terms-and-conditions/

SLA: https://winsurtech.com/winsurtech-rest-apis-service-level-agreement/

Overview

Form Cruise API enables the user with the following:

  • Upload an editable ACORD form or any PDF form that has editable fields (eLabels) to the system to support it. Note that if you are the end-user (like an insurance agency), you get the ACORD forms from WinsurTech as WinsurTech is a member of ACORD. But if you are not the end-user, then you need to get an ACORD Forms membership to use the ACORD forms.
  • Load/Launch an uploaded ACORD/PDF form in the browser, and edit it in the browser.
  • Fetch all the forms supported for your account
  • Fetch the elabels for any form supported for your account.

Endpoints:

  • Login - After the user submits login credentials to the Login API an ‘access-token’ is generated that authorizes the user. It will be valid for a time limit of 30 minutes. This access-token is needed to call subsequent endpoints.
  • Check form title availability (to check if form exists in the account)
  • Provision of a New PDF (to support new PDFs)
  • Fetch Provisioned Forms (to fetch forms supported for your account)
  • Fetch Provisioned PDF elabels (to get the variable names for editable fields in the PDF)
  • Fill PDF with JSON (to get the response to return URL)
  • Download Filled Form (to get a direct link to the download filled PDF)
  • Email Form Link (to email a particular provisioned form to a particular email address)
  • Get Form Activities (to fetch all the activity performed (Form Opened, Form Downloaded, Form submitted, etc) on a particular transaction_id.)
  • Get Form Sent (to fetch sent forms details within a given time frame)
  • Resend Form (to resend the form to the email address)
  • Fetch PDF Simplified elabels (to convert json data to simplified json)
  • Fill PDF with Simplified JSON (to convert simplified json data to provisioned form and to get the response to return URL)
  • Launch an ACORD/PDF Form in the browser

API Endpoint Information

           

Login

API URL:  https://formcruise.com/api/login

Method type: POST

Description:

Use this API endpoint to log in as a user with your credentials and security token. Security token will be a permanent token which will exist untill user generates a new token. After login, you will receive a access token (Bearer) to use in the other endpoint calls which expires after 30 minutes. You can make another call in the endpoint to get a new access-token.

           

Body parameters:

Parameter Name

Value

Is Mandatory

Description

email_address

Text

Yes

The email address of your account

password

Text

Yes

The Password of your account

security_token

Text

Yes

The Security token of your account

Postman Screenshot:

Form Cruise API Login Page

To every other endpoint, pass the access-token parameter in the header.

Sample Output:

{

    "status_code": 200,

    "message": "user logged in successfully",

    "success": true,

    "data": {

        "access-token": "29d71189-****-4c50-****-79db214f63d6"

    }

}

           

Check form title availability

API URL: https://formcruise.com/api/check-formtitle-availability

Method type: POST

Description

This API endpoint checks the form title availability the user will access the token first from the login API endpoint then that access-token needs to be sent to the header parameter and in the body parameter the user has to enter the form title that needs to be checked for availability. If the form title matches with the name that is already there in the account then the details are displayed and if the same title does not exist then it will display "form_title '*******' is available to use.". So the user can use that form title accordingly. This endpoint helps you find out if a form title is available for you to use or not.

Body parameters:

Parameter Name

Value

Is Mandatory

Description

form_title

Text

Yes

Provide a unique form title as you prefer


Case 1: When the user enters a form name that does not exist in the account.

Postman Screenshot:

Form Cruise Title Availability

Sample Output:

{

    "status_code": 200,

    "message": "form_title 'Test-5' is available to use.",

    "success": true,

    "data": {

        "result": true,

        "existing_form_info": null

    }

}


Case 2:  When the user enters a form name that already exists in the account.

Postman Screenshot:

Form already Exist

Sample Output:

{

    "status_code": 200,

    "message": "form_title 'Test-4' already exists.",

    "success": true,

    "data": {

        "result": false,

        "existing_form_info": {

            "form_pdf_name": "ACORD 0025 2014-01r1 Acroform",

            "form_title": "Test-4",

            "uploaded_date": "10/1/2021 5:59:44 PM"

        }

    }

}

           

           

Provision a new Form

API URL: https://formcruise.com/api/provision-pdf-form 

Method type: POST  

Description:

Using this endpoint you can support more ACORD forms or editable PDF forms so as to launch them in the browser for editing. This is a one-time step for each new PDF. You provide the editable PDF to this endpoint and a unique form_title. After the upload, you get the form elabels in the JSON response.

Body parameters:

Parameter Name

Value

Is Mandatory

Description

input_file

PDF file

Yes

Must be an editable PDF file

form_title

Text

Yes

Provide a unique form title as you prefer


Case 1:When the form to be uploaded is Read-only

Postman Screenshot:

Form Cruise API Upload New ReadOnly Form

Sample Output:

{

    "status_code": 200,

    "message": "form is uploaded successfully, uploaded PDF form is in read-only format.",

    "success": true,

    "data": {

        "elabels": []

    }

}


Case 2: When the form to be uploaded is Editable

Postman Screenshot:

Form Cruise API Upload New Editable Form

Sample Output:

{

    "status_code": 200,

    "message": "form is uploaded successfully",

    "success": true,

    "data": {

        "elabels": [

            {

                "FieldType": "Text",

                "FieldName": "Form_EditionIdentifier_A",

                "FieldValue": null

            },

            {

                "FieldType": "Text",

                "FieldName": "Form_CompletionDate_A",

                "FieldValue": null

            },

            {

                "FieldType": "Text",

                "FieldName": "Producer_FullName_A",

                "FieldValue": null

            },

            {

                "FieldType": "Text",

                "FieldName": "Producer_MailingAddress_LineOne_A",

                "FieldValue": null

            {

                "FieldType": "Text",

                "FieldName": "Producer_MailingAddress_LineTwo_A",

                "FieldValue": null

            },

The output continues..

           

Fetch Provisioned Forms

API URL: https://formcruise.com/api/fetch-supported-form-info

Method type: POST

Description:

You can use this endpoint to retrieve all of the already provisioned forms into your account. Response data will contain a comma-separated list of provisioned forms.

This endpoint will be beneficial when we want to Launch a new form. We can pick out any form title received in response, to launch that form.

 Header parameters:

Parameter Name

Value

Is Mandatory

Description

access-token

Text

Yes

Enter the access-token which is received from the login API

Postman Screenshot:

Form Cruise API Uploaded Forms List

Sample Output:

 {

    "status_code": 200,

    "message": "list of uploaded forms.",

    "success": true,

    "data": [

        {

            "form_pdf_name": "ACORD 0130 2013-09r2 Acroform",

            "form_title": "A_130",

            "uploaded_date": "30-09-2021 14:53:28"

        },

        {

            "form_pdf_name": "Umbrella-Acord-fillable",

            "form_title": "A_28",

            "uploaded_date": "30-09-2021 14:13:43"

        },

        {

            "form_pdf_name": "acord 25 testing (3)",

            "form_title": "A_20",

            "uploaded_date": "30-09-2021 14:04:18"

        },

        {

            "form_pdf_name": "ACORD 0090 CA 2014-12r2 Acroform (4)",

            "form_title": "A_27",

            "uploaded_date": "30-09-2021 14:03:11"

        {

            "form_pdf_name": "ACORD 0190 2013-09 Acroform (2) (1)",

            "form_title": "A_26",

            "uploaded_date": "30-09-2021 14:00:48"

        },

The output continues….

 Fetch Provisioned PDF Elabels

API URL: https://formcruise.com/api/fetch-pdf-elabels 

Method type: POST

Description:

Using this endpoint, you can fetch the elabel for the provided Acord form title.

You can use this endpoint to retrieve the elabels of a particular provisioned form bypassing the Form title. The response will contain data that will represent data regarding the elabels as follows

FieldType: Data type of elabel

FieldName: elabel Name allocated by form corresponding organization.

FiledValue: Provide your value here related to elabel.

Fill out your corresponding values in the FiledValue attribute.

 

You can use these JSON while launching the form.


Body parameters:

Parameter Name

Value

Is Mandatory

Description

form_title

Text

Yes

Provided Acord form title.

Postman Screenshot:

Fetch ACORD Form Elables

Sample Output:

{

    "status_code": 200,

    "message": "elabels for ACORD 0130 2013_09r2 Acroform Form have been fetched.",

    "success": true,

    "data": {

        "elabels": [

            {

                "FieldType": "Text",

                "FieldName": "Form_EditionIdentifier_A",

                "FieldValue": null

            },

            {

                "FieldType": "Text",

                "FieldName": "Form_CompletionDate_A",

                "FieldValue": null

            },

            {

                "FieldType": "Text",

                "FieldName": "Producer_FullName_A",

                "FieldValue": null

            },

            {

                "FieldType": "Text",

                "FieldName": "Producer_MailingAddress_LineOne_A",

                "FieldValue": null

            },

                "FieldType": "Text",

                "FieldName": "Producer_MailingAddress_LineTwo_A",

                "FieldValue": null

            }, 

The output continues….                         

                             

Fill PDF with JSON

API URL: https://formcruise.com/api/fill-pdf

Method type: POST

Description

Using this endpoint, you can send JSON data to an already provisioned form and get the direct link to the filled PDF back using which you can download the pdf.


Body parameters:Requesting this API, requires body parameters to be of raw JSON type.

Sample Body Json:

{

    "form_title": "Provide supported form-title",

    "export_read_only": Yes,

    "eLabels":[       

        {

    "FieldType": "Text",

    "FieldName": "_CompletionDate_A",

    "FieldValue": "12/29/2021"

          }

        {

    "FieldType": "Text",

    "FieldName": "Producer_FullName_A",

    "FieldValue": "Walter White"

        }, continues....

}

Postman Screenshot:

Fill Forms With Json

Sample Output:

   

{

    "status_code": 200,

    "message": " " ,

    "success": true,

    "data": {        

         "pdf_download_link":"https://formcruise.com/download-pdf/491**************ca329199b390ce**************0a6b4e.pdf",

         "transaction_id":"b******1"

                }

}

Download Filled Form

API URL: https://formcruise.com/api/fill-pdf-download

Method type: POST

Description

Using this API endpoint, you can get a direct link to the filled PDF corresponding to the transaction_id.


Body parameters:

Parameter Name

Value

Is Mandatory

Description

transaction_id

Text

Yes

An alphanumeric string of characters defines each form distinctively.

Postman Screenshot:

Download Filled ACORD Form

Sample Output:

   

{

    "status_code": 200,

    "message": "Use below link to download file",

    "success": true,

    "data": {        

     "pdf_download_link":"https://formcruise.com/download-pdf/491**************ca329199b390ce**************0a6b4e.pdf",

               }

}

Email Form Link

API URL: https://formcruise.com/api/email-form-link

Method type: POST

Description

Using this API endpoint, you can email a particular provisioned form to a particular email address, also provide the elabels to fill the form before sending it and you can also provide some specific user permissions(Download Form,Edit Form and Sign) and signature permissions(Insured,Producer and Other).


Body parameters:Requesting this API, requires body parameters to be of raw JSON type.

SAMPLE BODY JSON

   

{

    "form_title":"Demo_3",

    "receiver_name": "********",

    "to_email_address": "s******t@domain.com",

    "message": "Note to the end-user",

    "userPermissions":[       

         {

            "hideDownloadButton":"TRUE",

            "userCanEdit": "TRUE",

            "userCanSign": "TRUE",

         }

       ],       

    "recipientRolePermission":[       

         {

            "Insured":"TRUE",

            "Producer": "FALSE",

            "Other": "FALSE",

         }

       ],       

    "elabels":[       

         {

            "FieldType":"Text",

            "FieldName": "Form_CompletionDate_A",

            "FieldValue": 12/29/2021,

         },

         {

            "FieldType":"Text",

            "FieldName": "Producer_FullName_A",

            "FieldValue": "Walter White",

         }, continues.....

       ]       

}       

Postman Screenshot:

Email ACORD Form

Sample Output:

   

{

    "status_code": 200,

    "message": " "form sent to s******t@domain.com"",

    "success": true,

    "data": {        

      "transaction_id":"8*****e",

    }

}

Get Form Activities

API URL: https://formcruise.com/api/get-form-activities

Method type: GET

Description

Using this API endpoint, you can fetch all the activity performed (Form Opened, Form Downloaded, Form submitted, etc) on a particular transaction_id.


Body parameters:

Parameter Name

Value

Is Mandatory

Description

transaction_id

Text

Yes

An alphanumeric string of characters defines each form distinctively.

Postman Screenshot:

Form Activities

Sample Output:

{

    "status_code": 200,

    "message": "form track activities for transaction_id: 3******1.",

    "success": true,

    "data": [

            {

                "timestamp": "12-30-2021 16:09:39",

                "activity_type": "Form Filled",

                "activity_by": p******t@domain.com

            },

            {

                "timestamp": "12-30-2021 16:09:39",

                "activity_type": "Form downloaded",

                "FieldValue": p******t@domain.com

            },

                {

                "timestamp": "12-30-2021 16:19:31",

                "activity_type": "Form downloaded",

                "activity_by": p******t@domain.com

            },

          ]

}

Get Form Sent

API URL: https://formcruise.com/api/get-forms-sent

Method type: GET

Description

Using this API endpoint, you can fetch sent forms details within a given time frame. Requesting requires a start date parameter.


Body parameters:

Parameter Name

Value

Is Mandatory

Description

from_date

Text

(MM/DD/YYYY)

Yes

Start date to include form sent activities.

end_date

Text

(MM/DD/YYYY)

No

End date or up to date to include form sent activities.while requesting, we can skip this parameter value, by default it will take today's date.

Postman Screenshot:

Sent Forms List

Sample Output:

{

    "status_code": 200,

    "message": "form sent request from 12-28-2021 00:00:00 to 12-30-2021 19:00:40.",

    "success": true,

    "data": [

            {

                "timestamp": "12-29-2021 18:23:41",

                "form_title": "ACORD 90 CA 21-12-2021",

                "sent_to": p******t@domain.com

                "transaction_id": 3*****4

            },

                {

                "timestamp": "12-30-2021 17:40:14",

                "form_title": "ACORD 90 CA 21-12-2021",

                "sent_to": p******t@domain.com

                "transaction_id": e*****8

            },

          ]

}

Resend Form

API URL: https://formcruise.com/api/resend-form

Method type: POST

Description

Using this API endpoint, you can resend the form to the email address corresponding to the transaction_id.


Body parameters:

Parameter Name

Value

Is Mandatory

Description

transaction_id

Text

Yes

An alphanumeric string of characters defines each form distinctively.

Postman Screenshot:

Resend Form API End Point

Sample Output:

{

    "status_code": 200,

    "message": "form sent to p******t@domain.com".",

    "success": true,

    "data":{

                "transaction_id": "b*****1",

            },

}

Fetch PDF Simplified elabels

API URL: https://formcruise.com/api/fetch-pdf-simplifed-elabels

Method type: POST

Description

Using this API endpoint, you can convert JSON format to simplified JSON format.


Body parameters:Requesting this API, requires body parameters to be of raw JSON type.

SAMPLE BODY JSON

   

{

 "form_title" :"Demo_3",

        "elabels": [

            {

                "FieldType": "Text",

                "FieldName": "NamedInsured_FullName_A",

                "FieldValue": Walter White

            },

            {

                "FieldType": "Text",

                "FieldName": "Producer_CustomerIdentifier_A",

                "FieldValue": ""

            },

            {

                "FieldType": "Check",

                "FieldName": "Driver_LicensedDate_A",

                "FieldValue": "12/29/2021"

            },

                {

                "FieldType": "Text",

                "FieldName": "Driver_DistantStudentIndicator_A",

                "FieldValue": "yes"

            },

            ],

   }

Postman Screenshot:

Fetch Form Simplified Elables

Sample Output:

{

    "status_code": 200,

    "message": ""success"",

    "success": true,

    "data": {

         "form_title":"Demo_3",

          "elabels": {

              "NamedInsured_FullName_A":"Walter White",

                "Producer_CustomerIdentifier_A": "",

                 "Policy_Payment_DirectBillIndicator_A": "yes",

                 "Driver_LicensedDate_A": "12/29/2021",

                 "Driver_DistantStudentIndicator_A": "yes",

                 },

          "not_found_elabels": []

               }

    }

Fill PDF with Simplified JSON

API URL: https://formcruise.com/api/fill-pdf-simplified-json

Method type: POST

Description

Using this endpoint you can send simplified JSON data to an already provisioned form and get the direct link to the filled PDF back using which you can download the pdf.


Body parameters:Requesting this API, requires body parameters to be of raw JSON type.

SAMPLE BODY JSON

   

{

 "form_title":"Demo_3",

    "elabels": {       

           "NamedInsured_FullName_A":"Walter White",

            "Producer_CustomerIdentifier_A": "",

            "Policy_Payment_DirectBillIndicator_A": "yes",

            "Driver_LicensedDate_A": "12/29/2021",

            "Driver_DistantStudentIndicator_A": "yes",

         }

   }

Postman Screenshot:

Fill Form with Simplified JSON

Sample Output:

   

{

    "status_code": 200,

    "message": "",

    "success": true,

    "data": {        

         "pdf_download_link":"https://formcruise.com/download-pdf/491**************ca329199b390ce**************0a6b4e.pdf",

         "transaction_id":"b******1"

                }

   }

Some important points:

{

  "export_read_only": "yes",

  "access-token": "get your access-token using Login",

  "form_title": "Provide a form-title under your account",

  "returnURL": "https://acordformsdemo.webnerserver.com/api/FormManager/SaveFilledForm",

  "session_data": null,

  "inputData": { "eLabels": }

}

export_read_only: set “yes”, if you want to download pdf in read-only format, or set “no” if you want to download editable format.

access-token: get your latest access-token using Login API

form_title: set corresponding  Form Title

returnURL: set your controller URL, where you want to send data after the form is submitted.

session_data: set data regarding your session of a particular request.


Sample Output:

ACORD Form Output

The output continues...