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:
api.auth.url:
https://devwebsvcs.quikforms.com/rest_authenticationapi.vault.url
: https://devwebsvcs.quikforms.com/rest/quikvault/v1000
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 |
|
---|---|
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 |
---|---|
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 |
---|---|
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