Update Application Form
Description
Update an existing application form within your Bold Penguin tenant. Specify question codes from the Master Question Set or your Broker Question Set to update their answers. You do not need to specify every question from the original form, only those with updated values.
The endpoint returns an application form ID. It may also return a redirect_url
to retrieve the application in your Consumer Portal if you have one
configured.
Endpoint
Staging
https://partner-engine-uat.beta.boldpenguin.com/tenants/<tenant_id>/application_forms/<application_form_id>
Production
https://partner-engine.boldpenguin.com/tenants/<tenant_id>/application_forms/<application_form_id>
NOTE: that the tenant_id
will be different between environments.
Authentication
This endpoint requires an access_token from the authentication endpoint in the same environment. Include it as a bearer token in an Authorization header for the request.
Authorization: Bearer <access_token>
Methods
PATCH / POST
Request Syntax
PATCH /tenants/<tenant_id>/application_forms/<application_form_id>
Request Payload
The body of the request contains an application_form
consisting of
one or more answer values to update in JSON format.
{
"application_form": {
"answer_values": [
{
"code": "<string>",
"answer": "<string>"
},
{
"code": "<string>",
"answer": "<string>"
},
{
"code": "<string>",
"answer": "<string>"
},
...
]
}
}
Request Parameters
URL Parameters
- tenant_id
- You will be assigned a unique tenant_id for each of our environments.
- Type: String
- Required: Yes
JSON Parameters
Your JSON payload may contain an application_form
object with the following
properties:
- answer_values
- One or more questions and answers to prepopulate in the form
- Type: JSON object (An array of code and answer tuples)
- Required: No
NOTE: answer_values is an optional property used to prepopulate questions in the application form. This is useful if the consumer has already selected a product or provided contact information. You may use any of the pre-defined question codes for your tenant.
NOTE: Applications you intend to send to the Bold Penguin Exchange must
include the mqs_phone
question code with a unique phone number as the answer.
Response Syntax
{
"id": "<UUID>",
"reference_id": "<string>",
"redirect_url": null -or- "https://[url]?token_type=guest&token=[guest-user-auth-token]&token_id=[application-form-token-id]"
}
Response Elements
- id
- A globally unique ID for this instance of the application form within the tenant. It may change as the form is updated
- Type: UUID
- reference_id
- This ID will remain constant throughout the life of the application form
- Type: String (Format: XXX-XXX-XXX)
- redirect_url
- A single use URL for displaying the form for the consumer. Only populated on
consumer forms when a Consumer Portal is configured. Typically
null
for update responses - Type: URL String
- Default:
null
- A single use URL for displaying the form for the consumer. Only populated on
consumer forms when a Consumer Portal is configured. Typically
Response Payload - With Validation Errors
If an application form cannot be persisted or updated due to an answer's value not satisfying the question's validation, the Quote Start API will now provide a response that includes all validation errors encountered.
Posting to the update endpoint with the following payload:
{
"application_form": {
"answer_values": [
{
"code": "mqs_zipcode",
"answer": "5547888"
},
{
"code": "mqs_phone",
"answer": "1719555555x123"
}
]
}
}
Will result in the following response:
{
"errors": {
"answers": [
"mqs_zipcode is too long (maximum is 5 characters)",
"mqs_zipcode is invalid",
"mqs_phone is too long (maximum is 10 characters)",
"mqs_phone is invalid"
]
}
}
NOTE: Only answers that are included in the answer_values
array will be
validated. Some answers can result in a question_code
is invalid message
without additional explanation. For example, posting a zip code as 4321e would
result in an error, but would not provide any additional details as to the
nature of the error. In this case, the error would be that zip codes can only
contain numbers. The update_application_form
endpoint is similar to the
create_application_form
endpoint, but does not include the last is invalid
message in the answer array.
Status Codes
- 201 Success
- 401 Unauthorized: The necessary authentication credentials are not present in the request or are incorrect.
- 422 Parameter validation failure (verify the request body)
Examples
Example Request
curl --request PATCH \
--url https://partner-engine.boldpenguin.com/tenants/<tenant_id>/application_forms/<application_form_id> \
--header 'Authorization: Bearer <access-token>' \
--header 'Content-Type: application/json' \
--data '{
"application_form": {
"answer_values": [
{
"code": "[tenant-code]_zipcode",
"answer": "43215"
},
{
"code": "[tenant-code]_coverage_types",
"answer": "Business Owners Policy"
}
]
}
}'
Example Responses
{
"id": "f4d6130e-bd39-4789-a625-5612835ebf51",
"reference_id": "8JL-NC2-GD3",
"redirect_url": null
}
{
"id": "1234a690-2be4-4e95-8516-31cda41f311a",
"reference_id": "3JL-NX2-XD9",
"redirect_url": "https://[domain]-portal.boldpenguin.com/auth/callback?token_type=guest&token=[application-form-auth-token]&token_id=[application-form-token-id]"
}