Forms Vault API

NOTE: This documentation is prior to the production release and is not available yet for use.

Description:

This API is designed to work with Quik! App customers who wish to receive submitted forms in order to process, validate, store and/or receive the data directly from forms. The Quik! App user will initiate a form submit event (there are a few ways this can happen) which will send the form data back to the Quik! App and store it in the Forms Vault. The Forms Vault API will allow a 3rd party (i.e. your system) to authenticate and retrieve detail form data records for Quik! App customer accounts that are associated to the API requestor.

Base endpoints routes:

Endpoints:

Authentication:

In order to make any request to the Vault API the customer must be authenticated by obtaining a token from the following URL.

The body of the request must have the following parameters:

Parameters

 

Parameters

 

grant_type

REQUIRED - always with the value password.

user_name

REQUIRED - the user name of the customer to be authenticated.

password

REQUIRED - password of the user.

Request:

POST {{api.auth.url}}/token

Body:

grant_type=password&username=usernameexample&password=mypassword

Response:

{ "access_token": "eydhbGciOiJSUzI1NiIsImtpZCI6fjBBREM5MTQ5RDFGM0M1MDgzRDFCRDM1hTFGRtU4NTQ0NkJBNkEwQzhSUzI1NiIsInR5cCI6IkpXVCIsIng1dCI6IkN0eVJTZEh6eFFnOUc5TlJIOTZGUkd1bW9NZyJ9.eyJuYmYiOjE2Mzc2MDg4MjMsImV4cCI6MTYzNzYxMjQyMywiaXNzIjoiaHR0cHM6Ly9kZXZ3ZWJzdmNzLnF1aWtmb3Jtcy5jb20vcmVzdF9hdXRoZW50aWNhdGlvbiIsImF1ZCI6Imh0dHBzOi8vZGV2d2Vic3Zjcy5xdWlrZm9ybXMuY29tL3Jlc3RfYXV0aGVudGljYXRpb24vcmVzb3VyY2VzIiwiY2xpZW50X2lkIjoicmVzb3VyY2Vvd25lcmNsaWVudCIsIkN1c3RvbWVySWQiOiIxMDAwMTEyNiIsIlVzZXJJZCI6IjEyMzcxNDM2IiwiUm9sZUlkIjoiMTIzNzE0MzYiLCJNYXN0ZXJVc2VySWQiOiIxMjM3MTQzNiIsInN1YiI6IjEyMzcxNDM2IiwiYXV0aF90aW1lIjoxNjM3NjA4ODIzLCJpZHAiOiJsb2NhbCIsImp0aSI6IjZBQjA5RUNGRDNBQ0Q1MjgzRkQ0QUU4QzYyNjRDM0QyIiwiaWF0IjoxNjM3NjA4ODIzLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.ikkWOyAzF8797YDkjWZPVUz86leiWAtHL31rCoSquZlKkelgG0QaYzH7MmpbGhn0ZN6mQ4YrFcppp9n5Q55-6hd26U8dtEmeItl6Huj6fb_gHr8rBJ2L5Ur_HeSmGksJQf4wS6k5o-88p-LNjfNV2yXLwizp3yhS_qmkor-yKOdI7wuNeC4-hBA-sHjm3ReJTMhyW70nSytF3QUJVYVenaRIdhH5PXSI59PdF7bcmxEY4ZvH0Vfai2lPawXhRP94n9hVmDP_S4k30BjieUpYqviTs-hEBgRzruFROhRK3LIisKid0ibp5IZXnR4USyOF_yJYh_k3HUppDfUnzqULdq", "expires_in": 3600, "token_type": "Bearer", "refresh_token": "3211EE43F6067A6F3A2A4DC815D4F8B5EDCB315801213BDFF0C08CFF1F5306B2", "scope": "offline_access openid profile" }

 

Every request should have an Authorization header with the access token, for example:

FormRecordList

Returns a list of forms from the vault that match with the parameters. List of CustomerIDs must be related to the authenticated customer account as a child account.

Route: {{api.vault.url}}/api/formpackages

HTTP Verb: GET

Parameters

Description

Parameters

Description

CustomerIDList

OPTIONAL - List of CustomerIDs, if null returns all child CustomerIDs

SubmitStatusID

OPTIONAL - If null return all statuses (customer should use 5 to get newly submitted forms (“Submitted by Owner”), other accepted values include: 6 (Processed by 3rd Party), 8 (Complete), 9 (Archived), 10 (Deleted))

FormViewRequestUNID

OPTIONAL - This is a unique identifier for FormViewRequest

FormPackageStatusID

OPTIONAL - The valid value for this parameter are 1 (Pending), 2 (Active), 3 (Inactive), 4 (Delete), 5 (Saved). Other values will return no results.

FormPackageTypeID

OPTIONAL - The valid value for this parameter are 1 (Saved Form Package), 2 (Submitted Form Package), 3 (Client Intake Form). Other values will return no results.

DateCreatedStart

OPTIONAL - Beginning of date created range

DateCreatedEnd

OPTIONAL - End of date created range

DateCompletedStart

OPTIONAL - Beginning of date completed range

DateCompletedEnd

OPTIONAL - End of date completed range

Examples:

200 OK - Filter by CustomerID list (autenticated with their parent CustomerId)

Request:

Response:

200 OK - Filter by range of dates (autenticated with their parent CustomerId)

Request:

Response:

400 Bad Request - The value passed is not valid.

In the case that some of the parameters is receiving an incorrect value type, the endpoint will return a 400 Bad Request responseresponse.

For example, suppose that the following request is sending a text instead of a valid CustomerId:

Request:

Response:

FormDataDetails

Returns the details of a single form package’s data from the vault given the following query parameters:

Route: {{api.vault.url}}/api/formpackages/details

HTTP Verb: GET

Parameters

Description

Parameters

Description

FormPackageID

REQUIRED - a single FormPackageID

FormViewRequestID

REQUIRED - the FormViewRequestID that owns the form data

FormViewRequestUNID

REQUIRED - the transactional UNID for the form view package.

CustomerID

REQUIRED - the CustomerID that owns the form package record. Must be related to the authenticated customer.

 

Take note that all these parameters are required and can be obtained from the response of the FormRecordList.

Examples

200 OK - Endpoint returns a valid response.

Request:

Response:

404 Not Found - Form package not found.

In the case that some of the parameters do not match with any form packages the endpoint will return a 404 Not Found response.

For example, suppose that the following request does not match with any existing form package of the customer:

Request:

Response:

400 Bad Request - Invalid request

When one or more of the required parameters are missing or invalid you could get a 400 Bad Request response indicating the field that needs to be provided. 

For example, the following request missing the FormPackageID parameter:

Request:

Response:

Update Form Package

This endpoint updates the form package:

Route: {{api.vault.url}}/api/formpackages

HTTP Verb: PUT

Examples

200 OK - Endpoint returns a valid response.

Request:

Response:

404 Not Found - Form package not found.

In the case that some of the parameters do not match with any form packages the endpoint will return a 404 Not Found response.

For example, suppose that the following request does not match with any existing form package of the customer:

Sample Response:

400 Bad Request - Invalid request

For example, Sending an empty FormPackageIds List would cause an invalid request error.

 

 

Related pages

For help regarding Quik! Forms and the Quik! API
Email: support@quikforms.com | Phone: (877) 456-QUIK