Introduction
Perimeter software solutions REST API for the PACE policy administration system. This API documentation provides information on available endpoints, their usage and background information on how they may be used where applicable. We can add any endpoints you may be looking for but don't see upon request.
Change Logs
| Date | Description of Change |
|---|---|
| 09/04/2021 | Initial setup and write up of API endpoints |
| 12/15/2021 | Continue building out phase 1 of documentation |
| 04/26/2022 | Continue building out phase 1 of documentation |
| 06/17/2022 | Complete phase 1 of documentation |
| 12/16/2022 | Add category for mileage management documentation |
| 04/14/2023 | First Reports and Claims serialization endpoint documentation |
Versions
Authentication
Quotes
Does quote exist?
GET
GET /api/v1/quote/{policynumber}/exists
Example API Call
curl --location --request GET 'http://<your provided hostname>/api/v1/quote/<policyNumber>/exists' \
--header 'pace-api-key: <your api key here>' \
Response 200
{
"policy": {
"customerGuid": "D692C127-EA95-4AE3-A793-B82776A72AD8",
"policyNumber": "QPSSGA00001",
"emailAddress": "info@perimetersoftwaresolutions.com",
"effectiveDate": "2021-07-02 11:42:44",
"expirationDate": "2022-01-02 12:01",
"status": "ACTIVE"
},
"doesExist": true
}
This endpoints returns a small subset of quote data to determine whether or not the quote exists by policy#. This endpoint is useful to check whether or not a renewal quote has been issued to a quote at the time of the request.
If no quote is found by given policyNumber, a null policy object is returned.`
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target Quote |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Quote |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| effectiveDate | string |
false | Effective date of the Quote |
| expirationDate | string |
false | Expiration date of the Quote |
| status | string |
false | Current status of the Quote. See policyStatusOptions for more information. |
| doesExist | boolean |
false | Indicates whether the Quote exists or not |
Does quote exist by prior policy
GET
GET /api/v1/quote/priorpolicy/{policynumber}/exists
Example call
Response 200
{
"policy": {
"customerGuid": "D692C127-EA95-4AE3-A793-B82776A72AD8",
"policyNumber": "QPSSGA00001",
"emailAddress": "info@perimetersoftwaresolutions.com",
"effectiveDate": "2021-07-02 11:42:44",
"expirationDate": "2022-01-02 12:01",
"status": "ACTIVE"
},
"doesExist": true
}
This endpoints returns a small subset of quote data to determine whether or not the quote exists by a provided prior policy#.
If no quote is found by given prior policy number, a null policy object is returned.`
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | The prior policy number to search against all quotes to determine if a quote exists. |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Quote |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| effectiveDate | string |
false | Effective date of the Quote |
| expirationDate | string |
false | Expiration date of the Quote |
| status | string |
false | Current status of the Quote. See policyStatusOptions for more information. |
| doesExist | boolean |
false | Indicates whether the Quote exists or not |
Does quote exist by email address
POST
POST /api/v1/quote/email/exists
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/email/exists' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"emailAddress": "info@perimetersoftwaresolutions.com"
}'
Response 200
{
"policies": [
{
"customerGuid": "D692C127-EA95-4AE3-A793-B82776A72AD8",
"policyNumber": "QPSSGA00001",
"emailAddress": "info@perimetersoftwaresolutions.com",
"effectiveDate": "2021-07-02 11:42:44",
"expirationDate": "2022-01-02 12:01",
"status": "ACTIVE"
},
{
"customerGuid": "D1CC1ADA-23E2-494D-9269-741B56C183EA",
"policyNumber": "QPSSGA00002",
"emailAddress": "info@perimetersoftwaresolutions.com",
"effectiveDate": "2020-07-02 11:42:44",
"expirationDate": "2021-01-02 12:01",
"status": "EXPIRED"
}
],
"doesExist": true
}
This endpoints returns a small subset of quote data to determine whether or not any quotes exist with the provided email address. This endpoint is useful to check whether or not a potential insured has or has not quoted with the company previously and how many quotes they have tried.
If no quote is found by given email address, an empty policies collection is returned. Note, this endpoint can return multiple policy objects in the policies collection.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| emailAddress | string |
true | Email address to search for to determine if a quote exists by provided email address |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | list<policyObject> |
false | List of policy objects. |
| doesExist | boolean |
false | Indicates whether the Quote exists or not |
Quote info
GET
GET /api/v1/quote/{policynumber}/info
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/quote/<policynumber>/info' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "532522F7-9343-424D-A77A-95FCE072B1A4",
"policyNumber": "TQMOR00001436",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "WI",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "QUOTE",
"effectiveDate": "2018-09-05",
"expirationDate": "2019-03-05",
"cancelDate": null,
"quotedDate": "2018-09-05T02:01:46.957",
"term": 6,
"written": 789.88,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": "1986-06-06T00:00:00",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "WI",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(324) 234-2342"
}
],
"emailAddress": "ASDAD@AOL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"downPayment": 238.81,
"estimatedWritten": 1384.84,
"estimatedMonthly": 239.81
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
This endpoint returns basic information related to a quote
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middle Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for more details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| downPayment | double |
false | The total down payment amount to bind the quote |
| estimatedWritten | double |
false | If program calls for it, based on attributes that will vary premium, this is the estimated total premium for the quote. If no variable attributes exist in program, estimatedWritten will equal written. |
| estimatedMonthly | double |
false | The monthly payment amount |
Quote info by email
POST
POST /api/v1/quote/info/email
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/info/email' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"emailAddress": "info@perimetersoftwaresolutions.com"
}'
Response 200
[
{
"customerGuid": "1FF21440-5388-49CC-8BAE-604F2781AB9A",
"policyNumber": "TQMOR00001388",
"quoteNumber": "TQMOR00001388",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "QUOTE",
"effectiveDate": "2018-07-19",
"expirationDate": "2019-01-19",
"cancelDate": null,
"quotedDate": "2018-07-19T13:35:53.407",
"term": 6,
"written": 0.0,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-5323"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"downPayment": 0.0,
"estimatedWritten": 0.0,
"estimatedMonthly": 0.0
},
{
"customerGuid": "EEDD552F-0E2A-462E-AC32-22735DA8801B",
"policyNumber": "TQMOR00001392",
"quoteNumber": "TQMOR00001392",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "QUOTE",
"effectiveDate": "2018-07-19",
"expirationDate": "2019-01-19",
"cancelDate": null,
"quotedDate": "2018-07-19T22:36:14.64",
"term": 6,
"written": 758.2,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"downPayment": 0.0,
"estimatedWritten": 0.0,
"estimatedMonthly": 0.0
}
]
Response - 400 - No quotes found
{
"exception": "bad request",
"message": [
"No quotes found tied to email <email>"
]
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| emailAddress | string |
true | Email address to search for to determine if a quote exists by provided email address |
Response Parameters
Note, this endpoint returns an array of quoteInfoObjects, otherwise parameter name/values are same as Quote info endpoint.
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Quote |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middile Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for momre details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| downPayment | double |
false | The total down payment amount to bind the quote |
| estimatedWritten | double |
false | If program calls for it, based on attributes that will vary premium, this is the estimated total premium for the quote. If no variable attributes exist in program, estimatedWritten will equal written. |
| estimatedMonthly | double |
false | The monthly payment amount |
Run Rules
POST
POST /api/v1/quote/rules/run
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| mgaName | string |
false | Targets a specific program for rating purposes, only for use at new business. See mgaNameOptions for more information. |
| leadSource | string |
false | The source of where the quote came from. Not related to which real time rater or location the quote was rated from. See leadSourceOptions |
| leadSourceBusinessName | string |
false | The available business dependent upon the leadSource of which the quote came from. See leadSourceBusinessNameOptions for more information. |
| rateCall | string |
true | When used for quoting and endorsements, rateCall defines what grouping of integrations to run prior to returning a rated quote. See rateCallOptions for more information |
| agencyCode | string |
true | Agency code in which policy was bound |
| username | string |
true | Username of person who issued policy |
| effectiveDate | string |
true | Effective date of the policy |
| expirationDate | string |
true | Expiration date of the policy |
| term | string |
true | Policy term in months |
| insuredFirstName | string |
true | First Name |
| insuredMiddleInitial | string |
true | Middile Initial, 1 character |
| insuredLastName | string |
true | Last Name |
| insuredSuffix | string |
true | Suffix, ex: JR, SR, III |
| secondInsuredFirstName | string |
false | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
false | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
false | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
false | Second/Additional Insured Suffix, ex: JR, SR, III |
| emailAddress | string |
true | Email Address |
| addresses | addressesObject |
true | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
true | Phone numbers, see phoneNumberObject for momre details |
| payPlan | payPlanObject |
true | Desired pay plan for policy term, see payPlanObject for more details |
| isPaperless | string |
true | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | string |
true | Indicates if the policy is a non-owners policy |
| hasPriorCoverage | string |
true | Indicats if prior coverage has been selected |
| previousCompany | string |
true | Previous insurance company where coverage was selected. Optional and only relevant when hasPriorCoverage is true. |
| previousExpirationDate | string |
true | Expiration date of the previous policy they had coverage on. Optional only when hasPriorCoverage is true. |
| priorMonthsInsured | string |
true | Number of months previously insured. Optional only when hasPriorCoverage is true. |
| priorBiLimit | string |
true | BI Limit selected on last policy in which they had coverage. Optional only when hasPriorCoverage is true. |
| isGarageSameAsMailing | string |
true | Indicates if the garaging address is the same as the mailing address |
| isHomeOwner | string |
true | Indicates if insured is a home owner |
| homeOwnerType | string |
true | The type of home owned. See homeOwnerTypeOptions for more details |
| isMultiCarHouseHold | string |
false | Indicates if there are multiple cars in household, used to override multi-car discount |
| creditScore | string (read only) |
false | Credit score, at policy level, this is read only |
| estimatedCreditScore | string |
true | Estimated credit score, at policy level this is read only. See estimatedCreditScoreOptions for more details |
| lengthOfResidency | string |
true | The length of time at current residence. See lengthOfResidencyOptions for more details |
| vehicles | vehicleObject |
true | Lists all the vehicles on the policy. See vehicleObject for more information. |
| drivers | driverObject |
true | Lists all the drivers on the policy. See driverObject for more information. |
| limits | coverageLimitObject |
true | Lists all current in force coverages on the policy. See coverageLimitObject for more information. |
| flags | flagObject |
true | Any applicable flags currently on the policy or to be sent as part of the endorsement at the policy level. |
Rate Quote
POST
POST /api/v1/quote/rate
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| mgaName | string |
false | Targets a specific program for rating purposes, only for use at new business. See mgaNameOptions for more information. |
| leadSource | string |
false | The source of where the quote came from. Not related to which real time rater or location the quote was rated from. See leadSourceOptions |
| leadSourceBusinessName | string |
false | The available business dependent upon the leadSource of which the quote came from. See leadSourceBusinessNameOptions for more information. |
| rateCall | string |
true | When used for quoting and endorsements, rateCall defines what grouping of integrations to run prior to returning a rated quote. See rateCallOptions for more information |
| agencyCode | string |
true | Agency code in which policy was bound |
| username | string |
true | Username of person who issued policy |
| effectiveDate | string |
true | Effective date of the policy |
| expirationDate | string |
true | Expiration date of the policy |
| term | string |
true | Policy term in months |
| insuredFirstName | string |
true | First Name |
| insuredMiddleInitial | string |
true | Middile Initial, 1 character |
| insuredLastName | string |
true | Last Name |
| insuredSuffix | string |
true | Suffix, ex: JR, SR, III |
| secondInsuredFirstName | string |
false | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
false | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
false | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
false | Second/Additional Insured Suffix, ex: JR, SR, III |
| emailAddress | string |
true | Email Address |
| addresses | addressesObject |
true | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
true | Phone numbers, see phoneNumberObject for momre details |
| payPlan | payPlanObject |
true | Desired pay plan for policy term, see payPlanObject for more details |
| isPaperless | string |
true | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | string |
true | Indicates if the policy is a non-owners policy. If true, the vehicle array is not required. Any and all vehicles passed in will be ignored. |
| hasPriorCoverage | string |
true | Indicats if prior coverage has been selected |
| previousCompany | string |
true | Previous insurance company where coverage was selected. Optional and only relevant when hasPriorCoverage is true. |
| previousExpirationDate | string |
true | Expiration date of the previous policy they had coverage on. Optional only when hasPriorCoverage is true. |
| priorMonthsInsured | string |
true | Number of months previously insured. Optional only when hasPriorCoverage is true. |
| priorBiLimit | string |
true | BI Limit selected on last policy in which they had coverage. Optional only when hasPriorCoverage is true. |
| isGarageSameAsMailing | string |
true | Indicates if the garaging address is the same as the mailing address |
| isHomeOwner | string |
true | Indicates if insured is a home owner |
| homeOwnerType | string |
true | The type of home owned. See homeOwnerTypeOptions for more details |
| isMultiCarHouseHold | string |
false | Indicates if there are multiple cars in household, used to override multi-car discount |
| creditScore | string (read only) |
false | Credit score, at policy level, this is read only |
| estimatedCreditScore | string |
true | Estimated credit score, at policy level this is read only. See estimatedCreditScoreOptions for more details |
| lengthOfResidency | string |
true | The length of time at current residence. See lengthOfResidencyOptions for more details |
| tortOption | string |
false | Indicates the amount of tort coverage on the policy |
| vehicles | vehicleObject |
true | Lists all the vehicles on the policy. See vehicleObject for more information. |
| drivers | driverObject |
true | Lists all the drivers on the policy. See driverObject for more information. |
| limits | coverageLimitObject |
true | Lists all current in force coverages on the policy. See coverageLimitObject for more information. |
| flags | flagObject |
true | Any applicable flags currently on the policy or to be sent as part of the endorsement at the policy level. |
Issue Quote to Policy
POST
POST /api/v1/quote/issue
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/issue' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"policyNumber": "ad7df3de-378b-4b9f-b9e3-de7518507420",
"emailAddress": "info@perimetersoftwaresolutions.com",
"mobilePhoneNumber": "5555555555"
}'
Response 200
{
"customerGuid": "",
"policyNumber": "",
"totalWritten": "",
"hasPriorCoverage": "",
"hasPriorBalance": "",
"previousCarrier": "",
"previousExpirationDate": "",
"priorMonthsInsured": "",
"priorBiLimit": "",
"vehicles": [
{
"carNum": 1,
"vin": "",
"year": 2015,
"make": "",
"model": "",
"bodyStyle": ""
},
{
"carNum": 1,
"vin": "",
"year": 2015,
"make": "",
"model": "",
"bodyStyle": ""
}
],
"coverageLimits": "",
"writtenByCoverage": "",
"documents": [
{
"url": "",
"description": ""
},
{
"url": "",
"description": ""
}
],
"downPayment": "",
"estimatedWritten": "",
"estimatedMonthly": "",
"installments": [
{
"InstallmentNumber": 0,
"DueDate": "",
"TotalPremium": "",
"TotalFees": "",
"TotalDue": "",
"EstimatedTotal": "",
"EstimatedMonthly": "",
},
{
"InstallmentNumber": 1,
"DueDate": "",
"TotalPremium": "",
"TotalFees": "",
"TotalDue": "",
"EstimatedTotal": "",
"EstimatedMonthly": "",
}
]
}
If the workflow of the program is Quote to Policy, this endpoints triggers the quote to be issued as an in force policy. If your programs workflow is Quote to Binder to Policy, this endpoint is not applicable.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| emailAddress | string |
false | if you need to update the email address prior to issuance, provide the insured email address |
| mobilePhoneNumber | string |
false | if you need to update the insured mobile phone number prior to issuance, provide the mobile phone number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| totalWritten | double |
false | Total policy premium at issuance |
| hasPriorCoverage | boolean |
false | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
false | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime |
false | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | string |
false | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| vehicles | simpleVehicleObject |
false | |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
| documents | simpleDocumentsObject |
false | |
| downPayment | double |
false | Total down payment required for issuance |
| estimatedWritten | double |
false | If program calls for it, based on attributes that will vary premium, this is the estimated total premium for the quote. If no variable attributes exist in program, estimatedWritten will equal written. |
| estimatedMonthly | double |
false | The monthly payment amount |
| installments | installmentsObject |
false |
Post Payment to Quote
POST
POST /api/v1/quote/payment/post
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/payment/post' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"downPaymentAmount": 175,
"downPaymentTransactionId": "<transaction id from payment processor>",
"paymentDetails": [
{
"transactionType": "DOWNPAY",
"creditCardLastFour": "1111",
"paymentToken": "<token used for payment>",
"creditCardExpirationDate": "2021-05-01",
"paymentType": "CC"
},
{
"transactionType": "RECURRING",
"creditCardLastFour": "1111",
"paymentToken": "<token used for payment>",
"creditCardExpirationDate": "2021-05-01",
"paymentType": "CC"
}
],
"policyNumber": "QPSS00001123"
}'
Response 200
{
"paymentResponse": {
"id": 100,
"guid": "7EB6BB63-7026-43A1-BF1E-ECE2295A6259"
}
}
If payments are handled in their entirety outside of the system, and the current workflow for the program is Quote to Policy, this endpoint is so you can post the down payment to the quote in order to successfully issue a quote to a policy (see Issue Quote to Policy endpoint for more details).
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| downPaymentAmount | double |
true | The only time a payment should be posted to a quote is to pay for the down payment. Therefore, this should match the amount of the total down payment on Installment number zero. |
| downPaymentTransactionId | string |
true | The transaction id from the payment processor when making the payment |
| paymentDetails | paymentDetailsObject |
true | See paymentDetailsObject for more information. |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| paymentResponse | object |
false | wrapper object for payment response |
| id | integer |
false | id of the payment after it was posted to the policy |
| guid | string |
false | unique guid assigned to the posted payment. |
Drivers
GET
GET /api/v1/quote/{policynumber}/drivers
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/quote/<policynumber>/drivers' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "532522F7-9343-424D-A77A-95FCE072B1A4",
"policyNumber": "TQMOR00001436",
"driverNumber": 1,
"firstName": "DAVID",
"middleInitial": "M",
"lastName": "WIMBLEY",
"status": "RATED",
"relation": "INSURED",
"dob": "1986-06-06",
"isMarried": false,
"isExcluded": false,
"totalPoints": 0
}
]
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - Drivers not found
{
"exception": "bad request",
"message": [
"No drivers found for quote <policynumber>"
]
}
Lists all drivers on the quote. If more information on the driver is desired, can pull full driver profile from the Driver by driver number end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
true | Middle initial |
| lastName | string |
false | Last name |
| status | string |
true | Driver status, see driverStatusOptions for more information |
| relation | string |
false | Relation to Insured. relationToInsuredOptions |
| dob | string |
false | Date of birth, mm/dd/yyyy |
| isMarried | boolean |
false | Indicates if the driver is married |
| isExcluded | boolean |
false | Indicates if the driver is excluded |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
Vehicles
GET
GET /api/v1/quote/{policynumber}/vehicles
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/quote/<policynumber>/vehicles' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "17A5A1AE-B6E1-4615-BDCB-EEFE8D8EE0DE",
"policyNumber": "TQPSSGA000010101",
"carNumber": 1,
"vin": "2HGFA1F58A1111111",
"year": 2010,
"make": "Honda",
"model": "Civic",
"bodyStyle": "4-door Sedan | 4-cylinder"
},
{
"customerGuid": "17A5A1AE-B6E1-4615-BDCB-EEFE8D8EE0DE",
"policyNumber": "TQPSSGA000010101",
"carNumber": 2,
"vin": "3GNAL3E56CS653969",
"year": 2012,
"make": "Chevrolet",
"model": "Captiva Sport",
"bodyStyle": "6-cylinder | 2WD"
}
]
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - Vehicles not found
{
"exception": "bad request",
"message": [
"No vehicles found for quote <policynumber>"
]
}
Lists all vehicles on the quote. If more information on the vehicle is desired, can pull full vehicle profile from the Vehicle by VIN end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| carNumber | integer |
false | Car number assigned to each vehicle |
| vin | string |
false | VIN associated with the vehicle |
| year | string |
false | Model year of vehicle |
| make | string |
false | Make of vehicle |
| model | string |
false | Model of vehicle |
| bodyStyle | string |
true | Body Style of vehicle |
Driver by driver number
GET
GET /api/v1/quote/{policynumber}/driver/{drivernumber}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/quote/<policynumber>/driver/<drivernumber>' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "53BD9DE6-ED4A-47A7-90C7-C696C43AE352",
"policyNumber": "TQPSSGA00001",
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "M",
"lastName": "VADER",
"status": null,
"suffix": null,
"gender": "M",
"dob": "1966-06-06",
"age": 55,
"licenseNum": "123456789",
"licenseState": "AL",
"licenseDate": "2002-06-06",
"relation": "INSURED",
"totalPoints": 0,
"violationCount": 0,
"isIncludeAtRenewal": null,
"isMarried": false,
"isExcluded": false,
"flags": [
{
"name": "Sr22",
"description": null,
"hasFlag": false,
"attributes": {
"date": "",
"caseNumber": null,
"state": null
}
}
],
"violations": [
{
"policyNumber": "TQPSSGA00001",
"driverNumber": 1,
"description": "Driving While Under Influence",
"violationDate": "2016-09-09",
"points": 11,
"isIncludeAtRenewal": null,
"isChargeable": true
}
]
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - No driver found
{
"exception": "bad request",
"message": [
"Driver <drivernumber> on Quote <policynumber> not found"
]
}
This endpoints pulls the full details of the driver on a per driver basis. Note on this endpoint, all fields on driver should not be null however if the driver is in status of REVIEW, LIST or EXCLUDED, all of the properties may not be populated, those values are marked as "maybe" in nullable column.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| driverNumber | integer |
true | The Driver number of the driver to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
false | Middle initial |
| lastName | string |
false | Last name |
| status | string |
true | Driver status, see driverStatusOptions for more information |
| suffix | string |
true | Suffix, ex: JR, SR, III |
| gender | string |
maybe | Gender of the driver, options are M or F |
| dob | dateTime |
maybe | Date of birth, mm/dd/yyyy |
| age | integer |
maybe | Age of driver |
| licenseNum | string |
maybe | License number |
| licenseState | string |
maybe | State license was issued in |
| licenseDate | dateTime |
maybe | Date driver became licensed |
| relation | string |
maybe | Relation to Insured, see relationToInsuredOptions for more information |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
| violationCount | integer |
false | Total number of violations tied to the driver |
| isIncludeAtRenewal | boolean? |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| isMarried | boolean? |
true | Indicates if the driver is married or single |
| isExcluded | boolean? |
true | Indicates if the driver is excluded |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| violations | List<violationObject> |
false | Any violations attached to the driver. See violationObject for more information |
Vehicle by VIN
GET
GET /api/v1/quote/{policynumber}/vehicle/{vin}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/quote/<policynumber>/vehicle/<vin>' \
--header 'Content-Type: application/xml' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "3975AB3C-BFF2-4AFD-B276-263669F64E48",
"policyNumber": "TQMOR00001438",
"carNumber": 1,
"vin": "2HGFA1F58AH310928",
"make": "Honda",
"model": "Civic",
"bodyStyle": "4-door Sedan | 4-cylinder",
"costNew": 0.0,
"statedAmount": null,
"amountCustom": 0.0,
"annualMileage": 0.0,
"annualMiles": 6000,
"isIncludeAtRenewal": null,
"symbols": [
{
"symbol": "Make",
"value": "HD"
},
{
"symbol": "Model",
"value": "CV"
},
{
"symbol": "Style",
"value": "44"
}
],
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "50000/100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "50000/100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "50000/100000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 325.24,
"perMile": 0.069,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 201.07,
"perMile": 0.043,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 155.89,
"perMile": 0.033,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 23.31,
"perMile": 0.005,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 23.4,
"perMile": 0.005,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 23.4,
"perMile": 0.005,
"isUnusedCoverage": true
}
],
"flags": [
{
"name": "BusinessUse",
"description": null,
"hasFlag": false,
"attributes": null
},
{
"name": "IsFinanced",
"description": null,
"hasFlag": false,
"attributes": null
}
],
"emailAddress": "SCOTT.NELSON@MILEAUTO.COM",
"mobilePhoneNumber": "(404) 569-1985",
"ownershipType": null
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - Vehicle not found
{
"exception": "bad request",
"message": [
"Vehicle <vehiclenumber> on Quote <policynumber> not found"
]
}
This endpoints pulls the full details of the vehicle on a per vehicle basis.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| vin | string |
true | The VIN of the vehicle to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy number |
| carNumber | string |
false | Assigned car number |
| vin | string |
false | Vehicle Identification Number |
| make | string |
false | Vehicle make |
| model | string |
false | Vehicle model |
| bodyStyle | string |
false | Vehicle body style |
| costNew | double |
false | New vehicle cost |
| statedAmount | double |
true | Stated amount |
| amountCustom | double |
false | Amount of custom items |
| annualMileage | double |
false | Yearly miles driven |
| annualMiles | integer |
false | |
| isIncludeAtRenewal | boolean |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| symbols | Dictionary<string, string> |
false | Vehicle symbols and values (i.e. Make:BU, Model:RG, Style:44) |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| emailAddress | string |
false | Insured email address. Depending on rules within your program, this field may or may not be required. |
| mobilePhoneNumber | string |
false | Insured mobile phone number |
| ownershipType | string |
true | See ownershipTypeOptions for more information |
Coverages
GET
GET /api/v1/quote/{policynumber}/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/quote/<policynumber>/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "532522F7-9343-424D-A77A-95FCE072B1A4",
"policyNumber": "TQMOR00001436",
"hasPriorCoverage": false,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2019-03-05T00:01:00",
"priorMonthsInsured": null,
"priorBiLimit": "No BI Coverage",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 248.34,
"perMile": 0.051,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 191.67,
"perMile": 0.04,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 207.46,
"perMile": 0.043,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 22.38,
"perMile": 0.005,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 42.15,
"perMile": 0.009,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 42.15,
"perMile": 0.009,
"isUnusedCoverage": true
}
]
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - No vehicles found
{
"exception": "bad request",
"message": [
"No vehicles found on Quote <policynumber>"
]
}
This endpoint returns coverage information related to a quote
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Mileage based Coverages
GET
GET /api/v1/quote/{policynumber}/mileage/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/quote/<policynumber>/mileage/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "532522F7-9343-424D-A77A-95FCE072B1A4",
"policyNumber": "TQMOR00001436",
"hasPriorCoverage": false,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2019-03-05T00:01:00",
"priorMonthsInsured": null,
"priorBiLimit": "No BI Coverage",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 248.34,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 191.67,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 207.46,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 22.38,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 42.15,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 42.15,
"isUnusedCoverage": true
}
]
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - No vehicles found
{
"exception": "bad request",
"message": [
"No vehicles found on Quote <policynumber>"
]
}
This endpoint returns coverage information related to a quote
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Due Installments
GET
GET /api/v1/quote/{policynumber}/billing/installments
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/quote/<policynumber>/billing/installments' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "319c6131-f951-4332-9bc4-f0a0979be580",
"policyNumber": "XXXXX00019333",
"installments": [
{
"policyNumber": "XXXXX00019333",
"installmentNumber": 0.0,
"dueDate": "2022-06-13",
"isOnHold": false,
"totalDue": 108.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "XXXXX00019333",
"installmentNumber": 1.0,
"dueDate": "2022-07-13",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "XXXXX00019333",
"installmentNumber": 2.0,
"dueDate": "2022-08-13",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "XXXXX00019333",
"installmentNumber": 3.0,
"dueDate": "2022-09-13",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "XXXXX00019333",
"installmentNumber": 4.0,
"dueDate": "2022-10-13",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "XXXXX00019333",
"installmentNumber": 5.0,
"dueDate": "2022-11-13",
"isOnHold": false,
"totalDue": 133.81,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 123.81
}
]
}
],
"allInstallmentOptions": null,
"monthlyPayment": 113.17,
"downPayment": 108.17,
"totalWritten": 619.03,
"estimatedTotalWritten": 835.75,
"estimatedMonthlyPayment": 156.516
}
Response - 400 - No Quote Found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No Due Installments Found
{
"exception": "bad request",
"message": [
"No due installments remain for policy <policynumber>"
]
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| TotalWritten | double |
false | Total written for the entire policy |
| downPayment | double |
false | Amount for the down payment |
| monthlyPayment | double |
false | Monthly payment for the installments |
| estimatedMonthlyPayment | double |
false | Estimated monthly payment for the installments |
| estimatedTotalWritten | double |
false | Estimated total written for the entire policy |
| installments | object |
false | See Installments object definition |
| allInstallmentOptions | object |
true | See AllInstallmentOptions object definition |
All Installments
GET
GET /api/v1/quote/{policynumber}/billing/installments/all
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/quote/<policynumber>/billing/installments/all' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "319c6XXX-XXXX-XXXX-XXXX-f0a0979XXXXX",
"policyNumber": "XXXXX00019333",
"installments": [
{
"policyNumber": null,
"installmentNumber": 0.0,
"dueDate": "2022-06-13",
"isOnHold": false,
"totalDue": 64.42,
"isPaid": false,
"totalPremium": 59.42,
"totalFees": 5.0,
"estimatedTotal": 468.67,
"estimatedMonthly": 91.85,
"breakDown": [
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"policyNumber": null,
"installmentNumber": 1.0,
"dueDate": "2022-07-13",
"isOnHold": false,
"totalDue": 69.42,
"isPaid": false,
"totalPremium": 59.42,
"totalFees": 10.0,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"policyNumber": null,
"installmentNumber": 2.0,
"dueDate": "2022-08-13",
"isOnHold": false,
"totalDue": 69.42,
"isPaid": false,
"totalPremium": 59.42,
"totalFees": 10.0,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"policyNumber": null,
"installmentNumber": 3.0,
"dueDate": "2022-09-13",
"isOnHold": false,
"totalDue": 69.42,
"isPaid": false,
"totalPremium": 59.42,
"totalFees": 10.0,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"policyNumber": null,
"installmentNumber": 4.0,
"dueDate": "2022-10-13",
"isOnHold": false,
"totalDue": 69.42,
"isPaid": false,
"totalPremium": 59.42,
"totalFees": 10.0,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"policyNumber": null,
"installmentNumber": 5.0,
"dueDate": "2022-11-13",
"isOnHold": false,
"totalDue": 81.31,
"isPaid": false,
"totalPremium": 71.31,
"totalFees": 10.0,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 71.31
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
}
],
"allInstallmentOptions": [
{
"payPlanId": 204,
"payPlanName": "16.7% down / 5 installments",
"downPaymentPercent": 0.167,
"installmentCount": 5,
"installments": [
{
"installmentNumber": 0.0,
"dueDate": "2022-06-13",
"totalPremium": 59.42,
"totalFees": 5.0,
"totalDue": 64.42,
"estimatedTotal": 468.67,
"estimatedMonthly": 91.85,
"breakDown": [
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 1.0,
"dueDate": "2022-07-13",
"totalPremium": 59.42,
"totalFees": 10.0,
"totalDue": 69.42,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 2.0,
"dueDate": "2022-08-13",
"totalPremium": 59.42,
"totalFees": 10.0,
"totalDue": 69.42,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 3.0,
"dueDate": "2022-09-13",
"totalPremium": 59.42,
"totalFees": 10.0,
"totalDue": 69.42,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 4.0,
"dueDate": "2022-10-13",
"totalPremium": 59.42,
"totalFees": 10.0,
"totalDue": 69.42,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 59.42
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 5.0,
"dueDate": "2022-11-13",
"totalPremium": 71.31,
"totalFees": 10.0,
"totalDue": 81.31,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 71.31
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
}
]
}
],
"monthlyPayment": 69.42,
"downPayment": 64.42,
"totalWritten": 356.53,
"estimatedTotalWritten": 468.67,
"estimatedMonthlyPayment": 91.85
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| TotalWritten | double |
false | Total written for the entire policy |
| downPayment | double |
false | Amount for the down payment |
| monthlyPayment | double |
false | Monthly payment for the installments |
| estimatedMonthlyPayment | double |
false | Estimated monthly payment for the installments |
| estimatedTotalWritten | double |
false | Estimated total written for the entire policy |
| installments | List<installmentObject> |
false | A collection of installment objects |
| allInstallmentOptions | List<payPlanResponseObject> |
false | Lays out the information for the pay plan and all installments associated with that particular pay plan |
Update Payplan
POST
POST /api/v1/quote/payplan/update
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/payplan/update' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"policyNumber": "XXXXX00019333",
"downPayment": 0.167,
"installments": 5
}'
Response 200
[
{
"installmentNumber": 0.0,
"dueDate": "2022-06-14",
"totalPremium": 103.85,
"totalFees": 5.0,
"totalDue": 108.85,
"estimatedTotal": 841.1,
"estimatedMonthly": 157.45,
"breakDown": [
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 1.0,
"dueDate": "2022-07-14",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 103.85
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 2.0,
"dueDate": "2022-08-14",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 103.85
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 3.0,
"dueDate": "2022-09-14",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 103.85
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 4.0,
"dueDate": "2022-10-14",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 103.85
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
},
{
"installmentNumber": 5.0,
"dueDate": "2022-11-14",
"totalPremium": 124.63,
"totalFees": 10.0,
"totalDue": 134.63,
"breakDown": [
{
"name": "Premium",
"isFee": false,
"amount": 124.63
},
{
"name": "Mileage Monitoring Fee",
"isFee": true,
"amount": 5.0
},
{
"name": "Policy Fee",
"isFee": true,
"amount": 5.0
}
]
}
]
Response - 400 - Quote not found
{
"exception": "policy not found",
"message": [
"Quote not found by quote number {policynumber}"
]
}
Response - 400 - Quote not found
{
"exception": "pay plan not found",
"message": [
"Pay plan not found with down payment {downpayment}, installment count {installments} in Rate cycle {passed in policynumber's found quote's ratecycle}"
]
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| downPayment | double |
true | The percent as a double of the downpayment amount |
| installments | int |
true | The number of installments for the payplan |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| installments | List<installmentObject> |
false | A collection of installment objects |
Add / Update Billing Information
POST
POST /api/v1/quote/billing/accounts/add
Example call
Response 200
{
"policyNumber": "TQPSSGA0001011",
"accountDetailsCount": 2
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| accountDetails | array[accountDetailsObject] |
true | Account details object, see property information below. |
| transactionType | string |
true | Indicates for what transaction type the billing information is to be used for. Options are RECURRING or DOWNPAY to indicate use billing information for a recurring payment or for a down payment only payment. |
| paymentType | string |
true | The type of payment for which the account information is being stored. Options are CC for credit card or EFT for bank account. |
| paymentToken | string |
maybe | Only required if payment type is CC. The tokenized version of the payment method to be used for the indicated transaction type. |
| creditCardLastFour | string |
maybe | Only required if payment type is CC. Last four digits of credit card. |
| creditCardExpirationDate | dateTime |
maybe | Only required if payment type is CC. Expiration date of credit card. |
| accountNumber | string |
maybe | Only required if payment type is EFT. Bank account number. |
| routingNumber | string |
maybe | Only required if payment type is EFT. routing number. |
| accountType | string |
maybe | Only required if payment type is EFT. Type of bank account, CHECKING or SAVINGS. |
| accountHolderName | string |
maybe | Only required if payment type is EFT. The account holders name |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| policyNumber | string |
false | Policy number assigned to target quote |
| accountDetailsCount | string |
false | Total number of billing records found tied to quote. |
Save Quote
POST
POST /api/v1/quote/save
Example call
Response 200
{
"customerGuid": "ffd0a317-9497-4c76-9cc8-cd51a95a3dc6",
"policyNumber": "TQPSSGA0001001"
}
Request Parameters
| Parameter | Type | Required | Description |
|---|
The request for the Save Quote endpoint is the same as the Rate Quote endpoint. See Rate Quote for more information.
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to the quote request being saved. |
Documents
GET
GET /api/v1/quote/{policynumber}/documents
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/quote/<policynumber>/documents' \
--header 'Content-Type: application/xml' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"id": 11152,
"department": "CLAIMS",
"recordKey": "CTQPSSSGA00120-1",
"indexNumber": 1,
"dateCreated": "",
"fileUrl": "http://url/to/file.pdf",
"fileDescription": "Declarations Page",
"thumbnailUrl": "http://url/to/thumbnail_if_applicable.png",
"createdBy": "system",
"createdFrom": "CLAIMS",
"isInternal": "false"
},
{
"id": 11153,
"department": "CLAIMS",
"recordKey": "CTQPSSSGA00120-1",
"indexNumber": 1,
"dateCreated": "",
"fileUrl": "http://url/to/file.pdf",
"fileDescription": "POLICE REPORT",
"thumbnailUrl": "http://url/to/thumbnail_if_applicable.png",
"createdBy": "system",
"createdFrom": "CLAIMS",
"isInternal": "false"
}
]
Gets all the documents tied to a quote that are in imaging. Documents could include spreadsheets, pdfs, mp3s, videos and images.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
Response Parameters
Returns an array of documents objects
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| department | string |
false | Department of which the document was generated for. Deparments include UNDERWRITING, CLAIMS, AGENTS, and VENDORS. |
| recordKey | string |
false | Based on the department, the record key indicates the claim number, policy number, agency code or vendor code for what document the record should be attached to. |
| indexNumber | integer |
false | Primarily used for claims but could be used in underwriting, a document can be tied to a claimant |
| dateCreated | dateTime |
false | Date document was initially created |
| fileUrl | string |
false | The full URL that will expire after a certain period of time, expiration time configured via setting in system. |
| fileDescription | string |
false | Description of the document, could be standardized but can also be free-form as a user of PACE |
| thumbnailUrl | string |
false | If applicable, a thumbnail of the document that can be used. |
| createdBy | string |
false | The username of who created the document. |
| createdFrom | string |
false | Where the document was created from. |
| isInternal | boolean |
false | If building an externally facing application, indicates whether the document should be displayed to the end user. |
Serialize Quote
GET
GET /api/v2/quote/<policynumber>/serialize
Example call to serialize an in force policy
curl --location --request GET 'http://<your provided hostname>/api/v1/quote/<policynumber>/serialize' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"mgaName": "",
"leadSource": "",
"leadSourceBusinessName": "",
"rateCall": "",
"policyNumber": "QPSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"effectiveDate": "2025-03-30 04:27:57",
"expirationDate": "2025-03-30",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com",
"addresses": [
{
"type": "mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
},
{
"type": "garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "3333333333"
}
],
"payPlan": {
"downPayment": 0.083,
"installments": 11
},
"isPaperless": true,
"isNonOwners": false,
"hasPriorCoverage": true,
"has131Lapse": false,
"hasNoLapse": true,
"hasGtr31Lapse": false,
"previousCompany": "Other",
"previousExpirationDate": "",
"priorMonthsInsured": 11,
"priorBiLimit": "NONE",
"isEft": false,
"isRecurringEft": false,
"isGarageSameAsMailing": true,
"isHomeOwner": false,
"isMultiCarHouseHold": false,
"creditScore": -11,
"estimatedCreditScore": null,
"rewriteReason": "",
"renewalCount": 0,
"lengthOfResidency": null,
"homeOwnerType": null,
"tortOption": "",
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null,
"restraintCode": ""
}
],
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
],
"limits": [
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
],
"flags": [
{
"name": "Non-renew",
"value": "NON-RENEW",
"hasFlag": true,
"indexNumber": null,
"attributes": []
}
]
}
This endpoint serializes an issued policy, regardless of status, to a json object use for endorsements or other display purposes
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Policy number from in force policy that you wish to serialize to a json object |
Response
Policy Serialization Response Object
| Parameter | Type | Editable? | Description |
|---|---|---|---|
| mgaName | string |
true | Targets a specific program for rating purposes, only for use at new business. See mgaNameOptions for more information. |
| leadSource | string |
true | The source of where the quote came from. Not related to which real time rater or location the quote was rated from. See leadSourceOptions |
| leadSourceBusinessName | string |
true | The available business dependent upon the leadSource of which the quote came from. See leadSourceBusinessNameOptions for more information. |
| rateCall | string |
true | When used for quoting and endorsements, rateCall defines what grouping of integrations to run prior to returning a rated quote. See rateCallOptions for more information |
| policyNumber | string |
true | Policy number assigned to quote |
| agencyCode | string |
true | Agency code in which policy was bound |
| username | string |
true | Username of person who issued policy |
| lob | string |
true | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| effectiveDate | string |
true | Effective date of the policy |
| expirationDate | string |
true | Expiration date of the policy |
| term | string |
true | Policy term in months |
| insuredFirstName | string |
true | First Name |
| insuredMiddleInitial | string |
true | Middile Initial, 1 character |
| insuredLastName | string |
true | Last Name |
| insuredSuffix | string |
true | Suffix, ex: JR, SR, III |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| emailAddress | string |
true | Email Address |
| addresses | addressesObject |
true | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
true | Phone numbers, see phoneNumberObject for momre details |
| payPlan | payPlanObject |
true | Desired pay plan for policy term, see payPlanObject for more details |
| isPaperless | string |
true | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | string |
true | Indicates if the policy is a non-owners policy |
| hasPriorCoverage | string |
true | Indicats if prior coverage has been selected |
| has131Lapse | string (read only) |
false | Indicates if there is a 1 to 31 day lapse, this is read only |
| hasNoLapse | string (read only) |
false | Indicates if there is a lapse on the policy |
| hasGtr31Lapse | string (read only) |
false | Indicates if there is a lapse that is greater than 31 days |
| previousCompany | string |
true | Previous insurance company where coverage was selected. Optional and only relevant when hasPriorCoverage is true. |
| previousExpirationDate | string |
true | Expiration date of the previous policy they had coverage on. Optional only when hasPriorCoverage is true. |
| priorMonthsInsured | string |
true | Number of months previously insured. Optional only when hasPriorCoverage is true. |
| priorBiLimit | string |
true | BI Limit selected on last policy in which they had coverage. Optional only when hasPriorCoverage is true. |
| isEft | string |
true | Indicates if the policy is paid via EFT |
| isRecurringEft | string (depricated) |
true | No longer in use. |
| isGarageSameAsMailing | string |
true | Indicates if the garaging address is the same as the mailing address |
| isHomeOwner | string |
true | Indicates if insured is a home owner |
| homeOwnerType | string |
true | The type of home owned. See homeOwnerTypeOptions for more details |
| isMultiCarHouseHold | string |
false | Indicates if there are multiple cars in household, used to override multi-car discount |
| creditScore | string (read only) |
false | Credit score, at policy level, this is read only |
| estimatedCreditScore | string |
true | Estimated credit score, at policy level this is read only. See estimatedCreditScoreOptions for more details |
| rewriteReason | string |
false | The reason the policy was rewriten, if it was rewriten. Empty reason indicates policy was not rewritten. |
| renewalCount | string |
false | The number of times a policy has been renewed. Renewal count of 0 indicates new business |
| lengthOfResidency | string |
true | The length of time at current residence. See lengthOfResidencyOptions for more details |
| vehicles | vehicleObject |
true | Lists all the vehicles on the policy. See vehicleObject for more information. |
| drivers | driverObject |
true | Lists all the drivers on the policy. See driverObject for more information. |
| limits | coverageLimitObject |
true | Lists all current in force coverages on the policy. See coverageLimitObject for more information. |
| flags | flagObject |
true | Any applicable flags currently on the policy or to be sent as part of the endorsement at the policy level. |
Binders
Does Binder exist?
GET
GET /api/v1/binders/{policyNumber}/exists
curl --location --request GET 'http://<your provided hostname>/api/v1/binders/<policyNumber>/exists' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"policy": {
"customerGuid": "D692C127-EA95-4AE3-A793-B82776A72AD8",
"policyNumber": "BPSSGA00001",
"emailAddress": "info@perimetersoftwaresolutions.com",
"effectiveDate": "2021-07-02 11:42:44",
"expirationDate": "2022-01-02 12:01",
"status": "ACTIVE"
},
"doesExist": true
}
This endpoints returns a small subset of binder data to determine whether or not the binder exists by policy#.
If no binder is found by given policyNumber, a null policy object is returned.`
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target Binder |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Binder |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| effectiveDate | string |
false | Effective date of the Binder |
| expirationDate | string |
false | Expiration date of the Binder |
| status | string |
false | Current status of the Binder. See policyStatusOptions for more information. |
| doesExist | boolean |
false | Indicates whether the Binder exists or not |
Does Binder exist by quote
GET
GET
Example call
Response 200
{
}
This endpoints returns a small subset of binder data to determine whether or not the binder exists by a provided quote number.
If no binder is found by given quote number, a null policy object is returned.`
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| quoteNumber | string |
true | The quote number to search against all binders to determine if a binder exists. |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Binder |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| effectiveDate | string |
false | Effective date of the Binder |
| expirationDate | string |
false | Expiration date of the Binder |
| status | string |
false | Current status of the Binder. See policyStatusOptions for more information. |
| doesExist | boolean |
false | Indicates whether the Binder exists or not |
Does Binder exist by email address
POST
POST /api/v1/binders/email/exists
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/binders/email/exists' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"emailAddress": "info@perimetersoftwaresolutions.com"
}'
Response 200
{
"doesExist": true,
"policies": [
{
"customerGuid": "FAECCA6B-C67D-48B4-812F-A4BDFFFC2B8B",
"policyNumber": "TBMOR00001196",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2018-05-24T00:01:00",
"expirationDate": "2018-11-24T00:01:00",
"status": "EXPIRED"
},
{
"customerGuid": "891b263a-c14b-42e3-9fea-2c7fa62545f7",
"policyNumber": "TBMOH00000180",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2021-12-21T04:15:56.363",
"expirationDate": "2022-06-21T00:01:00",
"status": "BINDER"
},
{
"customerGuid": "192196aa-a1e6-46f7-9e28-cf415ffa7e8d",
"policyNumber": "TBMOH00000181",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2021-12-21T04:25:01.98",
"expirationDate": "2022-06-21T00:01:00",
"status": "BINDER"
}
]
}
This endpoints returns a small subset of binder data to determine whether or not any binders exist with the provided email address. This endpoint is useful to check whether or not a potential insured has or has not quoted with the company previously and how many quotes they have tried.
If no binder is found by given email address, an empty policies collection is returned. Note, this endpoint can return multiple policy objects in the policies collection.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| emailAddress | string |
true | Email address to search for to determine if a binder exists by provided email address |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | list<policyObject> |
false | List of policy objects. |
| doesExist | boolean |
false | Indicates whether the Binder exists or not |
Is Binder tied to Policy
GET
GET /api/v1/binders/{policynumber/policy/exists
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/{policynumber/policy/exists' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "XXXX-XXXX-XXXX",
"policyNumer": "XXXX094873",
"doesExist": true
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | The binder number to check against potential policy associations |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | If an association exists, the policy number. If no association exists, empty string |
| doesExist | boolean |
false | Indicates whether the binder exists on a policy |
Binder Info
GET
GET /api/v1/binders/{policynumber}/info
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<policynumber>/info' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "FF9773BB-D614-497C-B9B9-236BEA39A606",
"policyNumber": "TBMOR00001271",
"quoteNumber": "TQMOR00001435",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "EXPIRED",
"effectiveDate": "2018-08-31",
"expirationDate": "2019-02-28",
"cancelDate": null,
"quotedDate": "2018-08-31T03:57:56.017",
"term": 6,
"written": 780.23,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"downPayment": 0.0,
"estimatedWritten": 0.0,
"estimatedMonthly": 0.0
}
Response - 400 - Binder not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
This endpoint returns information related to a binder
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| quoteNumber | string |
false | Assigned quote record number |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middle Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for more details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| downPayment | double |
false | The total down payment amount to bind the quote |
| estimatedWritten | double |
false | If program calls for it, based on attributes that will vary premium, this is the estimated total premium for the quote. If no variable attributes exist in program, estimatedWritten will equal written. |
| estimatedMonthly | double |
false | The monthly payment amount |
Binder Info by Quote Number
GET
GET /api/v1/binders/{quotenumber}/info
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<quotenumber>/info' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "FF9773BB-D614-497C-B9B9-236BEA39A606",
"policyNumber": "TBMOR00001271",
"quoteNumber": "TQMOR00001435",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "EXPIRED",
"effectiveDate": "2018-08-31",
"expirationDate": "2019-02-28",
"cancelDate": null,
"quotedDate": "2018-08-31T03:57:56.017",
"term": 6,
"written": 780.23,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"downPayment": 0.0,
"estimatedWritten": 0.0,
"estimatedMonthly": 0.0
}
Response - 400 - Binder not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| quotenumber | string |
true | Assigned quote record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| quoteNumber | string |
false | Assigned quote record number |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middle Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for more details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| downPayment | double |
false | The total down payment amount to bind the quote |
| estimatedWritten | double |
false | If program calls for it, based on attributes that will vary premium, this is the estimated total premium for the quote. If no variable attributes exist in program, estimatedWritten will equal written. |
| estimatedMonthly | double |
false | The monthly payment amount |
Binder Info by Email Address
POST
POST /api/v1/binders/info/email
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/binders/info/email' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"emailAddress": "info@perimetersoftwaresolutions.com"
}'
Response 200
[
{
"customerGuid": "FAECCA6B-C67D-48B4-812F-A4BDFFFC2B8B",
"policyNumber": "TBMOR00001196",
"quoteNumber": "TQMOR00001320",
"agencyCode": "33002-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "EXPIRED",
"effectiveDate": "2018-05-24",
"expirationDate": "2018-11-24",
"cancelDate": null,
"quotedDate": "2018-05-24T02:48:43.43",
"term": 6,
"written": 789.88,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "LASKJFDASLKFJ",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "LASKJFDASLKFJ",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"downPayment": 0.0,
"estimatedWritten": -1.0
},
{
"customerGuid": "EEDD552F-0E2A-462E-AC32-22735DA8801B",
"policyNumber": "TBMOR00001227",
"quoteNumber": "TQMOR00001392",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "EXPIRED",
"effectiveDate": "2018-07-19",
"expirationDate": "2019-01-19",
"cancelDate": null,
"quotedDate": "2018-07-19T22:36:14.64",
"term": 6,
"written": 758.2,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97209",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [
{
"name": "BinderOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=66a081b184cec011ad63771d19d219674d853533",
"level": "VEHICLE"
}
],
"downPayment": 227.5,
"estimatedWritten": 1316.98
}
]
Response - 400 - No binders found
{
"exception": "bad request",
"message": [
"No binders found tied to email <email>"
]
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| emailAddress | string |
true | Email address to search for to determine if a binder exists by provided email address |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Binder |
| quoteNumber | string |
false | Quote number assigned to target Binder |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middile Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for momre details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| attributes | IEnumerable<policyAttributeObject> |
false | List of policy attribute objects |
| downPayment | double |
false | The total down payment amount to bind the quote |
| estimatedWritten | double |
false | If program calls for it, based on attributes that will vary premium, this is the estimated total premium for the quote. If no variable attributes exist in program, estimatedWritten will equal written. |
Drivers
GET
GET /api/v1/binders/{policynumber}/drivers
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<policynumber>/drivers' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "762D2673-3F39-400D-B19D-4701A6FD68F3",
"policyNumber": "TBPSSGA000101",
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"status": "RATED",
"relation": "INSURED",
"dob": "1970-07-13",
"isMarried": false,
"isExcluded": false,
"totalPoints": 0
},
{
"customerGuid": "762D2673-3F39-400D-B19D-4701A6FD68F3",
"policyNumber": "TBPSSGA000101",
"driverNumber": 2,
"firstName": "EMPEROR",
"middleInitial": "",
"lastName": "PALPATINE",
"status": "RATED",
"relation": "SPOUSE",
"dob": "1970-07-13",
"isMarried": false,
"isExcluded": false,
"totalPoints": 0
}
]
Lists all drivers on the binder. If more information on the driver is desired, can pull full driver profile from the Driver by driver number end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target binder |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target binder |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
false | Middle initial |
| lastName | string |
false | Last name |
| status | string |
false | Driver status (driverStatusOptions)[#option-definitions-driverstatusoptions] |
| relation | string |
false | Relation to Insured. (relationToInsuredOptions)[#option-definitions-relationtoinsuredoptions] |
| dob | string |
false | Date of birth, mm/dd/yyyy |
| isMarried | boolean |
false | Indicates if the driver is married |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
Vehicles
GET
GET /api/v1/binders/{policynumber}/vehicles
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<policynumber>/vehicles' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "17A5A1AE-B6E1-4615-BDCB-EEFE8D8EE0DE",
"policyNumber": "TBPSSGA000010101",
"carNumber": 1,
"vin": "2HGFA1F58A1111111",
"year": 2010,
"make": "Honda",
"model": "Civic",
"bodyStyle": "4-door Sedan | 4-cylinder"
},
{
"customerGuid": "17A5A1AE-B6E1-4615-BDCB-EEFE8D8EE0DE",
"policyNumber": "TBPSSGA000010101",
"carNumber": 2,
"vin": "3GNAL3E56CS653969",
"year": 2012,
"make": "Chevrolet",
"model": "Captiva Sport",
"bodyStyle": "6-cylinder | 2WD"
}
]
Lists all vehicles on the binder. If more information on the vehicle is desired, can pull full vehicle profile from the Vehicle by VIN end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target binder |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target binder |
| carNumber | integer |
false | Car number assigned to each vehicle |
| vin | string |
false | VIN associated with the vehicle |
| year | string |
false | Model year of vehicle |
| make | string |
false | Make of vehicle |
| model | string |
false | Model of vehicle |
| bodyStyle | string |
false | Body Style of vehicle |
Driver by driver number
GET
GET /api/v1/binders/{policynumber}/driver/{drivernumber}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<policynumber>/driver/<drivernumber>' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "FF9773BB-D614-497C-B9B9-236BEA39A606",
"policyNumber": "TBMOR00001271",
"driverNumber": 1,
"firstName": "DAVID",
"middleInitial": "M",
"lastName": "WIMBLEY",
"status": "RATED",
"suffix": null,
"gender": "M",
"dob": "1986-06-06",
"age": 32,
"licenseNum": "6644666",
"licenseState": "AL",
"licenseDate": "2002-06-06",
"relation": "INSURED",
"totalPoints": 0,
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"flags": [
{
"name": "Sr22",
"description": null,
"hasFlag": false,
"attributes": {
"sr22Date": "",
"sr22CaseNumber": null
}
},
{
"name": "Fr44",
"description": null,
"hasFlag": false,
"attributes": {}
}
],
"violations": []
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No driver found
{
"exception": "bad request",
"message": [
"Driver <drivernumber> on Policy <policynumber> not found"
]
}
This endpoints pulls the full details of the driver on a per driver basis. Note on this endpoint, all fields on driver should not be null however if the driver is in status of REVIEW, LIST or EXCLUDED, all of the properties may not be populated, those values are marked as "maybe" in nullable column.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned Policy number |
| driverNumber | integer |
true | The Driver number of the driver to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned Policy number |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
false | Middle initial |
| lastName | string |
false | Last name |
| status | string |
false | Driver status, see driverStatusOptions for more information |
| suffix | string |
true | Suffix, ex: JR, SR, III |
| gender | string |
maybe | Gender of the driver, options are M or F |
| dob | dateTime |
maybe | Date of birth, mm/dd/yyyy |
| age | integer |
maybe | Age of driver |
| licenseNum | string |
maybe | License number |
| licenseState | string |
maybe | State license was issued in |
| licenseDate | dateTime |
maybe | Date driver became licensed |
| relation | string |
maybe | Relation to Insured, see relationToInsuredOptions for more information |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
| violationCount | integer |
false | Total number of violations tied to the driver |
| isIncludeAtRenewal | boolean? |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| isMarried | boolean? |
true | Indicates if the driver is married or single |
| isExcluded | boolean? |
true | Indicates if the driver is excluded |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| violations | List<violationObject> |
false | Any violations attached to the driver. See violationObject for more information |
Vehicle by VIN
GET
GET /api/v1/binders/{policynumber}/vehicle/{vin}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<policynumber>/vehicle/<vin>' \
--header 'Content-Type: application/xml' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "FF9773BB-D614-497C-B9B9-236BEA39A606",
"policyNumber": "TBMOR00001271",
"carNumber": 1,
"vin": "2G4GR5ER1D1111111",
"make": "Buick",
"model": "Regal",
"bodyStyle": "4-door Sedan | 4-cylinder",
"costNew": 0.0,
"statedAmount": null,
"amountCustom": 0.0,
"annualMiles": 8040,
"isIncludeAtRenewal": null,
"symbols": [
{
"symbol": "Make",
"value": "BU"
},
{
"symbol": "Model",
"value": "RG"
},
{
"symbol": "Style",
"value": "44"
}
],
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 248.34,
"perMile": 0.051,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 191.67,
"perMile": 0.04,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 197.81,
"perMile": 0.041,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 22.38,
"perMile": 0.005,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 42.15,
"perMile": 0.009,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 42.15,
"perMile": 0.009,
"isUnusedCoverage": true
}
],
"flags": [],
"lienHolders": [],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"mobilePhoneNumber": "(919) 454-3237",
"ownershipType": null
}
Response - 400 - Binder not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - Vehicle not found
{
"exception": "bad request",
"message": [
"Vehicle <vehiclenumber> on Policy <policynumber> not found"
]
}
This endpoints pulls the full details of the vehicle on a per vehicle basis.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| vin | string |
true | The VIN of the vehicle to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy number |
| carNumber | string |
false | Assigned car number |
| vin | string |
false | Vehicle Identification Number |
| make | string |
false | Vehicle make |
| model | string |
false | Vehicle model |
| bodyStyle | string |
false | Vehicle body style |
| costNew | double |
false | New vehicle cost |
| statedAmount | double |
false | Stated amount |
| amountCustom | double |
false | Amount of custom items |
| annualMiles | integer |
false | |
| isIncludeAtRenewal | boolean |
false | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| symbols | Dictionary<string, string> |
false | Vehicle symbols and values (i.e. Make:BU, Model:RG, Style:44) |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| lienHolders | lienholderObject |
false | A lien holder object |
| emailAddress | string |
false | Insured email address. Depending on rules within your program, this field may or may not be required. |
| mobilePhoneNumber | string |
false | Insured mobile phone number |
| ownershipType | string |
true | See ownershipTypeOptions for more information |
Due Installments
GET
GET /api/v1/binders/{policynumber}/billing/installments
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/binders/<policynumber>/billing/installments' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "BINDER00001247",
"installmentNumber": 0.0,
"dueDate": "2022-06-14",
"isOnHold": false,
"totalDue": 111.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Convenience Fee",
"amount": 3.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "BINDER00001247",
"installmentNumber": 1.0,
"dueDate": "2022-07-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "BINDER00001247",
"installmentNumber": 2.0,
"dueDate": "2022-08-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "BINDER00001247",
"installmentNumber": 3.0,
"dueDate": "2022-09-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "BINDER00001247",
"installmentNumber": 4.0,
"dueDate": "2022-10-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "BINDER00001247",
"installmentNumber": 5.0,
"dueDate": "2022-11-14",
"isOnHold": false,
"totalDue": 134.63,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 124.63
}
]
}
]
Response - 400 - No Binder Found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No Due Installments Found
{
"exception": "bad request",
"message": [
"No due installments remain for policy <policynumber>"
]
}
Returns an array of Installment objects for the passed in Binder Number assuming found Binder has Due Installments.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| installments | List<installmentObject> |
false | A collection of installment objects |
Documents
GET
GET /api/v1/binders/{policynumber}/documents
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/binders/<policynumber>/documents' \
--header 'Content-Type: application/xml' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"id": 11152,
"department": "CLAIMS",
"recordKey": "CTQPSSSGA00120-1",
"indexNumber": 1,
"dateCreated": "",
"fileUrl": "http://url/to/file.pdf",
"fileDescription": "Declarations Page",
"thumbnailUrl": "http://url/to/thumbnail_if_applicable.png",
"createdBy": "system",
"createdFrom": "CLAIMS",
"isInternal": "false"
},
{
"id": 11153,
"department": "CLAIMS",
"recordKey": "CTQPSSSGA00120-1",
"indexNumber": 1,
"dateCreated": "",
"fileUrl": "http://url/to/file.pdf",
"fileDescription": "POLICE REPORT",
"thumbnailUrl": "http://url/to/thumbnail_if_applicable.png",
"createdBy": "system",
"createdFrom": "CLAIMS",
"isInternal": "false"
}
]
Gets all the documents tied to a binder that are in imaging. Documents could include spreadsheets, pdfs, mp3s, videos and images.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target binder |
Response Parameters
Returns an array of documents objects
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| department | string |
false | Department of which the document was generated for. Deparments include UNDERWRITING, CLAIMS, AGENTS, and VENDORS. |
| recordKey | string |
false | Based on the department, the record key indicates the claim number, policy number, agency code or vendor code for what document the record should be attached to. |
| indexNumber | integer |
false | Primarily used for claims but could be used in underwriting, a document can be tied to a claimant |
| dateCreated | dateTime |
false | Date document was initially created |
| fileUrl | string |
false | The full URL that will expire after a certain period of time, expiration time configured via setting in system. |
| fileDescription | string |
false | Description of the document, could be standardized but can also be free-form as a user of PACE |
| thumbnailUrl | string |
false | If applicable, a thumbnail of the document that can be used. |
| createdBy | string |
false | The username of who created the document. |
| createdFrom | string |
false | Where the document was created from. |
| isInternal | boolean |
false | If building an externally facing application, indicates whether the document should be displayed to the end user. |
Coverages
GET
GET /api/v1/binders/{policynumber}/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/binders/<policynumber>/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "FF9773BB-D614-497C-B9B9-236BEA39A606",
"policyNumber": "TBMOR00001271",
"hasPriorCoverage": false,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2019-02-28T00:01:00",
"priorMonthsInsured": null,
"priorBiLimit": "No BI Coverage",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 248.34,
"perMile": 0.051,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 191.67,
"perMile": 0.04,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 197.81,
"perMile": 0.041,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 22.38,
"perMile": 0.005,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 42.15,
"perMile": 0.009,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 42.15,
"perMile": 0.009,
"isUnusedCoverage": true
}
]
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No vehicles found
{
"exception": "bad request",
"message": [
"No vehicles found on Policy <policynumber>"
]
}
This endpoint returns coverage information related to a binder
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Mileage based Coverages
GET
GET /api/v1/binders/{policynumber}/mileage/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/binders/<policynumber>/mileage/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "FF9773BB-D614-497C-B9B9-236BEA39A606",
"policyNumber": "TBMOR00001271",
"hasPriorCoverage": false,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2019-02-28T00:01:00",
"priorMonthsInsured": null,
"priorBiLimit": "No BI Coverage",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "25000/50000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 248.34,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 191.67,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 197.81,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 22.38,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 42.15,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 42.15,
"isUnusedCoverage": true
}
]
}
Response - 400 - Binder not found
{
"exception": "bad request",
"message": [
"Binder <policynumber> not found"
]
}
Response - 400 - Vehicles not found
{
"exception": "bad request",
"message": [
"No vehicles found on Binder <policynumber>"
]
}
This endpoint returns coverage information related to a binder
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Payments History
GET
GET /api/v1/binders/{policynumber}/billing/payments/history
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/binders/<policynumber>/billing/payments/history' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"paymentId": 5121,
"policyNumber": "TBMGA00001247",
"username": "jstaten",
"paymentType": "CC",
"totalPaid": 111.85,
"accountingDate": "2022-06-14",
"postmarkDate": "2022-06-14",
"voidDate": "",
"isVoid": false,
"isVoidRecord": false,
"isMovedMoney": false,
"transactionId": "ch_3LAcZfLk82sGVPEy1eghMEYO",
"responseDescription": "",
"payTo": "",
"paymentBreakDown": []
}
]
Response - 400 - Binder not found
{
"exception": "bad request",
"message": [
"Binder <policynumber> not found"
]
}
Returns a list of Payment History objects detailing various aspects of a payment including a fee breakdown if information is found
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| PaymentHistory | List<paymentHistoryObject> |
false | A collection of payment History Objects |
Next Due Installment
GET
GET /api/v1/binders/{policynumber}/billing/installments/nextdue
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/binders/<policynumber>/billing/installments/nextdue' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "891b263a-c14b-42e3-9fea-2c7fa62545f7",
"policyNumber": "TBMOH00000180",
"installmentNumber": 0.0,
"dueDate": "2021-12-21",
"isOnHold": false,
"totalDue": 94.02,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Policy Fee",
"amount": 7.0
},
{
"feeType": "Premium",
"amount": 87.02
}
]
}
Response - 400 - Binder not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No installments found
{
"exception": "bad request",
"message": [
"No installments due for Policy <policynumber>"
]
}
This endpoint returns next due installment information
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| installmentNumber | double? |
true | The installment number |
| dueDate | string |
false | The date of when installment is due |
| isOnHold | boolean |
false | Indicates if installment is on hold |
| totalDue | double |
false | Total ammount due |
| isPaid | int? |
true | Indicates if installment is paid |
| totalPremium | double? |
true | Total premium |
| totalFees | double? |
true | Total fees |
| fees | List<feeObject> |
false | A fee object |
Upload Document
POST
POST
Example call
Response 200
{
}
Request Parameters
| Parameter | Type | Required | Description |
|---|
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|
Create Binder
POST
POST /api/v1/binders/create
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/binders/create' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"policyNumber": "XXXXX00019333",
"downPaymentAmount": 0.0,
"isBypassPayment": true,
"isAuthPayment": false
}'
Response 200
{
"customerGuid": "665efbdb-XXXX-XXXX-XXXX-2a6275e457ef",
"binderNumber": "XXXXX00001249",
"effectiveDate": "2022-06-15T12:59:06.8414665",
"expirationDate": "2022-12-15T00:01:00",
"binderExpirationDate": "2022-06-19T00:01:00",
"totalWritten": 623.12,
"hasPriorCoverage": false,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2022-12-15T00:01:00",
"priorMonthsInsured": null,
"priorBiLimit": "No BI Coverage",
"vehicles": [
{
"carNum": 1,
"vin": "1FTEW1E5XJFB33359",
"year": 2018,
"make": "Ford",
"model": "F-150",
"bodyStyle": null
}
],
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "MP",
"description": "Medical Payments",
"limit": "1000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "25000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UM",
"description": "UM/UIMBI Type",
"limit": "A",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI Limit",
"limit": "25000/50000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "UMUIMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "25000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "UMUIMPDDeductible",
"description": "UMUIMPD Deductible",
"limit": "250",
"isUnusedCoverage": false
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 249.78,
"perMile": 0.079,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "MP",
"written": 12.03,
"perMile": 0.004,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 231.64,
"perMile": 0.073,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 30.99,
"perMile": 0.01,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMPD",
"written": 20.8,
"perMile": 0.007,
"isUnusedCoverage": false
}
],
"downPayment": 114.85,
"estimatedWritten": 841.1,
"estimatedMonthly": 157.45,
"installments": [
{
"installmentNumber": 0.0,
"dueDate": "2022-06-15",
"totalPremium": 103.85,
"totalFees": 11.0,
"totalDue": 114.85,
"estimatedTotal": 841.1,
"estimatedMonthly": 157.45
},
{
"installmentNumber": 1.0,
"dueDate": "2022-07-15",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"estimatedTotal": null,
"estimatedMonthly": null
},
{
"installmentNumber": 2.0,
"dueDate": "2022-08-15",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"estimatedTotal": null,
"estimatedMonthly": null
},
{
"installmentNumber": 3.0,
"dueDate": "2022-09-15",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"estimatedTotal": null,
"estimatedMonthly": null
},
{
"installmentNumber": 4.0,
"dueDate": "2022-10-15",
"totalPremium": 103.85,
"totalFees": 10.0,
"totalDue": 113.85,
"estimatedTotal": null,
"estimatedMonthly": null
},
{
"installmentNumber": 5.0,
"dueDate": "2022-11-15",
"totalPremium": 124.63,
"totalFees": 10.0,
"totalDue": 134.63,
"estimatedTotal": null,
"estimatedMonthly": null
}
]
}
Response - 400 - Payment Information Not Found
{
"exception": "bad request",
"message": [
"No down payment information found on file. Make sure to call /api/v1/quote/billing/accounts/add to add account details to quote prior to creating binder."
]
}
Response - 400 - Payment Information Not Found
{
"exception": "bad request",
"message": [
"No premium transactions exist for quote {quotenumber}. Quote must be rated prior to creating binder"
]
}
Response - 400 - Payment Information Not Found
{
"exception": "bad request",
"message": [
"No installments exist for quote {quotenum}. Quote must be rated prior to creating binder"
]
}
Creates and associates a binder with a quote. Can do intial downpayment transaction as well. Regardless of whether a binder will do the downpayment, payment information needs to exist beforehand before running this endpoint.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| isBypassPayment | bool |
true | Indicates whether a downpayment payment should happen with payment information on file |
| isAuthPayment | bool |
true | Indicates if the downpayment transaction is an authorized payment |
| policyNumber | string |
true | Policy number from the quote that will have the binder created for |
| downPaymentAmount | double |
true | The downpayment amount for the payment transaction |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| binderNumber | string |
false | The id given to the binder that was created for the passed in quote |
| effectiveDate | string |
false | The date in which the binder takes effect |
| expirationDate | string |
false | The expiration date of the quote |
| binderExpirationDate | string |
false | The date in which the binder expires |
| totalWritten | double |
false | The total written for the binder |
| hasPriorCoverage | bool |
false | Indicates whether the insured has had prior coverage |
| hasPriorBalance | bool |
false | Indicates whether the insured has a prior balance |
| previousCarrier | string |
false | The name of the previous carrier if previously covered |
| previousExpirationDate | string |
false | The expiration date of the insured's last coverage |
| priorMonthsInsured | int |
false | How long the insured was covered for |
| priorBiLimit | string |
false | The amount the insured's prior coverage covered for Bodily Inury Limit |
| vehicles | List<createBinderVehicleObject> |
false | A collection of vehicles |
| coverageLimits | |
false | A collection of coverage limits |
| writtenByCoverage | |
false | A collection of written coverages |
| downPayment | double |
true | The downpayment amount for the quote/binder |
| estimatedWritten | double |
true | The estimated written total for the quote/binder |
| estimatedMonthly | double |
true | The estimated monthly payment for the quote/binder |
| installments | |
false | A collection of installments |
Serialize Binder
GET
GET /api/v2/binder/<policynumber>/serialize
Example call to serialize an in force policy
curl --location --request GET 'http://<your provided hostname>/api/v1/binder/<policynumber>/serialize' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"mgaName": "",
"leadSource": "",
"leadSourceBusinessName": "",
"rateCall": "",
"policyNumber": "QPSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"effectiveDate": "2025-03-30 04:27:57",
"expirationDate": "2025-03-30",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com",
"addresses": [
{
"type": "mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
},
{
"type": "garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "3333333333"
}
],
"payPlan": {
"downPayment": 0.083,
"installments": 11
},
"isPaperless": true,
"isNonOwners": false,
"hasPriorCoverage": true,
"has131Lapse": false,
"hasNoLapse": true,
"hasGtr31Lapse": false,
"previousCompany": "Other",
"previousExpirationDate": "",
"priorMonthsInsured": 11,
"priorBiLimit": "NONE",
"isEft": false,
"isRecurringEft": false,
"isGarageSameAsMailing": true,
"isHomeOwner": false,
"isMultiCarHouseHold": false,
"creditScore": -11,
"estimatedCreditScore": null,
"rewriteReason": "",
"renewalCount": 0,
"lengthOfResidency": null,
"homeOwnerType": null,
"tortOpion": "F",
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null,
"restraintCode": "PSB"
}
],
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
],
"limits": [
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
],
"flags": [
{
"name": "Non-renew",
"value": "NON-RENEW",
"hasFlag": true,
"indexNumber": null,
"attributes": []
}
]
}
This endpoint serializes a binder to a json object use for endorsements or other display purposes
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Policy number from in binder that you wish to serialize to a json object |
Response
Policy Serialization Response Object
| Parameter | Type | Editable? | Description |
|---|---|---|---|
| mgaName | string |
true | Targets a specific program for rating purposes, only for use at new business. See mgaNameOptions for more information. |
| leadSource | string |
true | The source of where the quote came from. Not related to which real time rater or location the quote was rated from. See leadSourceOptions |
| leadSourceBusinessName | string |
true | The available business dependent upon the leadSource of which the quote came from. See leadSourceBusinessNameOptions for more information. |
| rateCall | string |
true | When used for quoting and endorsements, rateCall defines what grouping of integrations to run prior to returning a rated quote. See rateCallOptions for more information |
| policyNumber | string |
true | Policy number assigned to quote |
| agencyCode | string |
true | Agency code in which policy was bound |
| username | string |
true | Username of person who issued policy |
| lob | string |
true | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| effectiveDate | string |
true | Effective date of the policy |
| expirationDate | string |
true | Expiration date of the policy |
| term | string |
true | Policy term in months |
| insuredFirstName | string |
true | First Name |
| insuredMiddleInitial | string |
true | Middile Initial, 1 character |
| insuredLastName | string |
true | Last Name |
| insuredSuffix | string |
true | Suffix, ex: JR, SR, III |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| emailAddress | string |
true | Email Address |
| addresses | addressesObject |
true | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
true | Phone numbers, see phoneNumberObject for momre details |
| payPlan | payPlanObject |
true | Desired pay plan for policy term, see payPlanObject for more details |
| isPaperless | string |
true | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | string |
true | Indicates if the policy is a non-owners policy |
| hasPriorCoverage | string |
true | Indicats if prior coverage has been selected |
| has131Lapse | string (read only) |
false | Indicates if there is a 1 to 31 day lapse, this is read only |
| hasNoLapse | string (read only) |
false | Indicates if there is a lapse on the policy |
| hasGtr31Lapse | string (read only) |
false | Indicates if there is a lapse that is greater than 31 days |
| previousCompany | string |
true | Previous insurance company where coverage was selected. Optional and only relevant when hasPriorCoverage is true. |
| previousExpirationDate | string |
true | Expiration date of the previous policy they had coverage on. Optional only when hasPriorCoverage is true. |
| priorMonthsInsured | string |
true | Number of months previously insured. Optional only when hasPriorCoverage is true. |
| priorBiLimit | string |
true | BI Limit selected on last policy in which they had coverage. Optional only when hasPriorCoverage is true. |
| isEft | string |
true | Indicates if the policy is paid via EFT |
| isRecurringEft | string (depricated) |
true | No longer in use. |
| isGarageSameAsMailing | string |
true | Indicates if the garaging address is the same as the mailing address |
| isHomeOwner | string |
true | Indicates if insured is a home owner |
| homeOwnerType | string |
true | The type of home owned. See homeOwnerTypeOptions for more details |
| isMultiCarHouseHold | string |
false | Indicates if there are multiple cars in household, used to override multi-car discount |
| creditScore | string (read only) |
false | Credit score, at policy level, this is read only |
| estimatedCreditScore | string |
true | Estimated credit score, at policy level this is read only. See estimatedCreditScoreOptions for more details |
| rewriteReason | string |
false | The reason the policy was rewriten, if it was rewriten. Empty reason indicates policy was not rewritten. |
| renewalCount | string |
false | The number of times a policy has been renewed. Renewal count of 0 indicates new business |
| lengthOfResidency | string |
true | The length of time at current residence. See lengthOfResidencyOptions for more details |
| vehicles | vehicleObject |
true | Lists all the vehicles on the policy. See vehicleObject for more information. |
| drivers | driverObject |
true | Lists all the drivers on the policy. See driverObject for more information. |
| limits | coverageLimitObject |
true | Lists all current in force coverages on the policy. See coverageLimitObject for more information. |
| flags | flagObject |
true | Any applicable flags currently on the policy or to be sent as part of the endorsement at the policy level. |
Policy
Does Policy exist?
GET
GET api/v1/policy/<policyNumber>/exists
Example call to serialize an in force policy
curl --location --request GET 'http://<your provided hostname>/api/v1/policy/<policyNumber>/exists' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"policy": {
"customerGuid": "D692C127-EA95-4AE3-A793-B82776A72AD8",
"policyNumber": "PSSGA00001",
"emailAddress": "info@perimetersoftwaresolutions.com",
"effectiveDate": "2021-07-02 11:42:44",
"expirationDate": "2022-01-02 12:01",
"status": "ACTIVE"
}
}
This endpoints returns a small subset of policy data to determine whether or not the policy exists by policy#. This endpoint is useful to check whether or not a renewal quote has been issued to a policy at the time of the request.
If no policy is found by given policyNumber, a null policy object is returned.`
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target Policy |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Policy |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| effectiveDate | string |
false | Effective date of the policy |
| expirationDate | string |
false | Expiration date of the policy |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| doesExist | boolean |
false | Indicates whether the policy exists or not |
Does Policy exist by email address
POST
POST /api/v1/policy/email/exists
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/policy/email/exists' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"emailAddress": "info@perimetersoftwaresolutions.com"
}'
Response 200
{
"doesExist": true,
"policies": [
{
"customerGuid": "3A571CA6-60BD-4D3E-AE20-B281C04F821A",
"policyNumber": "TFGA140002065-00",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2019-12-28T02:20:30.94",
"expirationDate": "2020-06-28T00:01:00",
"status": "ACTIVE"
},
{
"customerGuid": "307D7E15-61A5-46AF-A659-BD72779BC11D",
"policyNumber": "TFGA140002104-00",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2020-04-24T02:05:52.55",
"expirationDate": "2020-10-24T00:01:00",
"status": "ACTIVE"
},
{
"customerGuid": "c222d362-1c9b-418d-8f47-9f210da23987",
"policyNumber": "TFGA140002158-00",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2021-03-25T05:36:44.207",
"expirationDate": "2021-09-25T00:01:00",
"status": "ACTIVE"
},
{
"customerGuid": "c222d362-1c9b-418d-8f47-9f210da23987",
"policyNumber": "TFGA140002158-01",
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"effectiveDate": "2021-09-25T00:01:00",
"expirationDate": "2022-03-25T00:01:00",
"status": "FUTURE"
}
]
}
This endpoints returns a small subset of policy data to determine whether or not any policies exist with the provided email address. This endpoint is useful to check whether or not a potential insured has or has not quoted with the company previously and how many quotes they have tried.
If no policy is found by given email address, an empty policies collection is returned. Note, this endpoint can return multiple policy objects in the policies collection.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| emailAddress | string |
true | Email address to search for to determine if a policy exists by provided email address |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | list<policyObject> |
false | List of policy objects. |
| doesExist | boolean |
false | Indicates whether the Policy exists or not |
Policy info
GET
GET /api/v1/policy/{policynumber}/info
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/info' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"binderNumber": "TBMILPS00002349",
"quoteNumber": "TQMILPS00046899",
"agencyCode": "33008-1",
"lob": 1,
"ratedState": "IL",
"priorPolicyNumber": "3817FC81",
"nextPolicyNumber": null,
"status": "PENDING",
"effectiveDate": "2022-06-15",
"expirationDate": "2022-12-15",
"cancelDate": null,
"quotedDate": "2022-05-27T09:57:38.447",
"term": 6,
"written": 881.68,
"insuredFirstName": "ELLIE",
"insuredMiddleInitial": null,
"insuredLastName": "NOISE",
"insuredSuffix": null,
"insuredDateOfBirth": "1987-08-07T00:00:00",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "0121 SOUTH ST",
"city": "CHICAGO",
"state": "IL",
"zip": "60613",
"county": "COOK"
},
{
"type": "Garaging",
"streetName": "0121 SOUTH ST",
"city": "CHICAGO",
"state": "IL",
"zip": "60613",
"county": "COOK"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(770) 770-7700"
},
{
"type": "Home",
"number": "(770) 770-7700"
}
],
"emailAddress": "CARLETTE.LANDRUM@MILEAUTO.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [
{
"name": "NewBusinessEsignatureUrl",
"value": "https://pss.api.perimetersoftwaresolutions.com/esignature/external/sign//472b82ad-ec68-44f2-8a7b-99a27a4daf04",
"level": "POLICY"
},
{
"name": "BinderOdometerReadingUrl",
"value": "https://mv.porscheautoinsurance.com/?key=-MWmW9zR",
"level": "VEHICLE"
}
],
"flags": []
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
This endpoint returns basic information related to a policy
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| binderNumber | string |
false | Assigned binder record number |
| quoteNumber | string |
false | Assigned quote record number |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middle Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for more details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| attributes | IEnumerable<policyAttributeObject> |
false | List of policy attribute objects |
| flags | List<flagObject> |
false | List of flag objects |
Policy info by email
POST
POST /api/v1/policy/info/email
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/policy/info/email' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"emailAddress": "info@perimetersoftwaresolutions.com"
}'
Response 200
[
{
"customerGuid": "3A571CA6-60BD-4D3E-AE20-B281C04F821A",
"policyNumber": "TFGA140002065-00",
"binderNumber": "TBMGA00000214",
"quoteNumber": "TQMGA00001210",
"agencyCode": "33001-1",
"lob": 1,
"ratedState": "GA",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "ACTIVE",
"effectiveDate": "2019-12-28",
"expirationDate": "2020-06-28",
"cancelDate": null,
"quotedDate": "2019-12-28T01:47:47.477",
"term": 6,
"written": 783.53,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": "1986-06-06T00:00:00",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "HOLLY SPRINGS",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "HOLLY SPRINGS",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
},
{
"type": "Home",
"number": "9194543237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [
{
"name": "BinderOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=788433fbab1084d9fd7b9610bec45475608e9434",
"level": "VEHICLE"
},
{
"name": "MonthlyOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=46237aec39890d5008c597328104210c135cb08d",
"level": "VEHICLE"
},
{
"name": "MonthlyOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=296441bce7d1c60817cb2367df9a1d256cf79815",
"level": "VEHICLE"
},
{
"name": "MonthlyOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=7157b55cde6bbc0d1800afc145f6b4800d2b34ca",
"level": "VEHICLE"
},
{
"name": "MonthlyOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=7a4e96a2541a99f514ed846c8ae95776d7585c76",
"level": "VEHICLE"
}
],
"flags": []
},
{
"customerGuid": "307D7E15-61A5-46AF-A659-BD72779BC11D",
"policyNumber": "TFGA140002104-00",
"binderNumber": "TBMGA00000283",
"quoteNumber": "256850ad-17fa-4df9-85d4-f56690e0db4d",
"agencyCode": "33001-1",
"lob": 1,
"ratedState": "GA",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "ACTIVE",
"effectiveDate": "2020-04-24",
"expirationDate": "2020-10-24",
"cancelDate": null,
"quotedDate": "2020-04-24T02:05:39.69",
"term": 6,
"written": 666.0,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": null,
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": "1986-06-06T00:00:00",
"secondInsuredFirstName": "DAVID",
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": "WIMBLEY",
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
},
{
"type": "Home",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [
{
"name": "BinderOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=7f550bc6a0f93d5418d9cafe79d39a207259495a",
"level": "VEHICLE"
}
],
"flags": []
},
{
"customerGuid": "c222d362-1c9b-418d-8f47-9f210da23987",
"policyNumber": "TFGA140002158-00",
"binderNumber": "TBMGA00000396",
"quoteNumber": "20f54c3a-2178-4fb6-8c3f-52447b8ab612",
"agencyCode": "33001-1",
"lob": 1,
"ratedState": "GA",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "ACTIVE",
"effectiveDate": "2021-03-25",
"expirationDate": "2021-09-25",
"cancelDate": null,
"quotedDate": "2021-03-25T05:36:27.16",
"term": 6,
"written": 510.3,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": "1956-06-06T00:00:00",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "HOLLY SPRINGS",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "HOLLY SPRINGS",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [
{
"name": "BinderOdometerReadingUrl",
"value": "https://mile.mverity.com/?key=xgR15J9L",
"level": "VEHICLE"
}
],
"flags": []
},
{
"customerGuid": "c222d362-1c9b-418d-8f47-9f210da23987",
"policyNumber": "TFGA140002158-01",
"binderNumber": "TBMGA00000396",
"quoteNumber": "20f54c3a-2178-4fb6-8c3f-52447b8ab612",
"agencyCode": "33001-1",
"lob": 1,
"ratedState": "GA",
"priorPolicyNumber": "TFGA140002158-00",
"nextPolicyNumber": "TFGA140002158-02",
"status": "FUTURE",
"effectiveDate": "2021-09-25",
"expirationDate": "2022-03-25",
"cancelDate": null,
"quotedDate": "2021-04-08T15:27:17.22",
"term": 6,
"written": 466.48,
"insuredFirstName": "DAVID",
"insuredMiddleInitial": "M",
"insuredLastName": "WIMBLEY",
"insuredSuffix": null,
"insuredDateOfBirth": "1956-06-06T00:00:00",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "100 MAIN STREET",
"city": "HOLLY SPRINGS",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
},
{
"type": "Garaging",
"streetName": "100 MAIN STREET",
"city": "HOLLY SPRINGS",
"state": "GA",
"zip": "30188",
"county": "CHEROKEE"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(919) 454-3237"
}
],
"emailAddress": "DMWIMBLEY0606@GMAIL.COM",
"isPaperless": false,
"isNonOwners": false,
"attributes": [],
"flags": []
}
]
Response - 400 - No policies found
{
"exception": "bad request",
"message": [
"No policies found tied to email <email>"
]
}
This endpoint returns information related to a policy related to email address
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| emailAddress | string |
true | Email address to search for to determine if a quote exists by provided email address |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| binderNumber | string |
false | Assigned binder record number |
| quoteNumber | string |
false | Assigned quote record number |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middle Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for more details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
| attributes | IEnumerable<policyAttributeObject> |
false | List of policy attribute objects |
| flags | List<flagObject> |
false | List of flag objects |
Policy info by quote number
GET
GET /api/v1/policy/{quotenumber}/infobyquote
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/{quotenumber}/infobyquote' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "b60df6c8-XXXX-XXXX-XXXX-2954e333e577",
"policyNumber": "XXXX140002522-00",
"binderNumber": "XXXXX00001250",
"quoteNumber": "XXXX00019397",
"agencyCode": "33001-1",
"lob": 1,
"ratedState": "GA",
"priorPolicyNumber": null,
"nextPolicyNumber": null,
"status": "PENDING",
"effectiveDate": "2022-06-16",
"expirationDate": "2022-12-16",
"cancelDate": null,
"quotedDate": "2022-06-16T13:33:20.837",
"term": 6,
"written": 619.03,
"insuredFirstName": "TEST",
"insuredMiddleInitial": null,
"insuredLastName": "TEST",
"insuredSuffix": null,
"insuredDateOfBirth": "1989-09-20T00:00:00",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "123 TEST",
"city": "OAK GROVE",
"state": "GA",
"zip": "30101",
"county": "COBB"
},
{
"type": "Garaging",
"streetName": "123 TEST",
"city": "OAK GROVE",
"state": "GA",
"zip": "30101",
"county": "COBB"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(777) 777-7777"
},
{
"type": "Home",
"number": "(777) 777-7777"
}
],
"emailAddress": "TEST@TEST.COM",
"isPaperless": false,
"isNonOwners": false
}
Response - 400 - No policy found
{
"exception": "bad request",
"message": [
"Policy {0} not found by quote number"
]
}
Located policy information by searching with the associated quote number
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| quotenumber | string |
true | Assigned quote number of the policy that information needs retrieved |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy Number associated with the quote number |
| BinderNumber | string |
false | The binder number associated with the policy |
| QuoteNumber | string |
false | The quote number associated with the policy |
| AgencyCode | string |
false | The agency number |
| Lob | int |
false | |
| RatedState | string |
false | The state for the policy |
| PriorPolicyNumber | string |
true | The prior policy number if there is a renewal |
| NextPolicyNumber | string |
true | The policy number that follows if there is a renewal |
| Status | string |
false | The status of the policy |
| EffectiveDate | string |
false | The date in which the policy and its coverages take effect |
| ExpirationDate | string |
false | The date the policy expires |
| CancelDate | string |
true | The date the policy is/will be canceled |
| QuotedDate | string |
false | The date in which the policy was quoted |
| Term | int |
false | The term length of the policy in months |
| Written | double |
false | The total written amount of the policy |
| InsuredFirstName | string |
false | The first name of the primary insured on the policy |
| InsuredMiddleInitial | string |
true | The middle initial of the primary insured on the policy |
| InsuredLastName | string |
false | The last name of the primary insured on the policy |
| InsuredSuffix | string |
true | The suffix of the primary insured on the policy |
| InsuredDateOfBirth | string |
false | The date of birth of the primary insured on the policy |
| SecondInsuredFirstName | string |
true | The first name of the 2nd insured on the policy |
| SecondInsuredMiddleInitial | string |
true | The middle initial of the 2nd insured on the policy |
| SecondInsuredLastName | string |
true | The last name of the 2nd insured on the policy |
| SecondInsuredSuffix | string |
true | The suffix of the 2nd insured on the policy |
| Addresses | List<addressObject> |
false | A list of addresses |
| PhoneNumbers | List<phonenumberObject> |
false | A list of phone numbers |
| EmailAddress | string |
false | The contact email address for the policy |
| IsPaperless | bool |
false | Indicates if policy is paperless |
| IsNonOwners | bool |
false | Indicates if this policy is a Non Owners policy |
Policy history
GET
GET /api/v1/policy/{policynumber}/history
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/history' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"actionType": "NEW",
"actionEffectiveDate": "2022-06-15",
"actionAccountingDate": "2022-05-27",
"username": "clandrum",
"cancelReason": "",
"oldWritten": 0.0,
"newWritten": 819.56,
"changeInWritten": 819.56
},
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"actionType": "EQUOTE",
"actionEffectiveDate": "2022-06-16",
"actionAccountingDate": "2022-05-27",
"username": "clandrum",
"cancelReason": null,
"oldWritten": 819.56,
"newWritten": 881.68,
"changeInWritten": 62.12
},
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"actionType": "ENDORSE",
"actionEffectiveDate": "2022-06-16",
"actionAccountingDate": "2022-05-27",
"username": "clandrum",
"cancelReason": null,
"oldWritten": 819.56,
"newWritten": 881.68,
"changeInWritten": 62.12
}
]
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - History not found
{
"exception": "bad request",
"message": [
"No history exists for <policynumber>"
]
}
This endpoint returns information relating to a policies history to show a snap shot of any major activity regarding the policy
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| actionType | string |
false | Action type taken on policy (see actionTypeOptions for more information) |
| actionEffectiveDate | string |
false | Effective date of action |
| actionAccountingDate | string |
false | Accounting date of action |
| username | string |
false | User name of user who initiated the action |
| oldWritten | double |
false | Previous written amount before action |
| newWritten | double |
false | New written amount after action |
| changeInWritten | string |
false | The difference between the old written and new written amounts |
| cancelReason | string |
true | Reason if cancellation |
Drivers
GET
GET /api/v1/policy/{policynumber}/drivers
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/drivers' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "762D2673-3F39-400D-B19D-4701A6FD68F3",
"policyNumber": "TPSSGA000101",
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"status": "RATED",
"relation": "INSURED",
"dob": "1970-07-13",
"isMarried": false,
"isExcluded": false,
"totalPoints": 0
},
{
"customerGuid": "762D2673-3F39-400D-B19D-4701A6FD68F3",
"policyNumber": "TPSSGA000101",
"driverNumber": 2,
"firstName": "EMPEROR",
"middleInitial": "",
"lastName": "PALPATINE",
"status": "RATED",
"relation": "SPOUSE",
"dob": "1970-07-13",
"isMarried": false,
"isExcluded": false,
"totalPoints": 0
}
]
Lists all drivers on the policy. If more information on the driver is desired, can pull full driver profile from the Driver by driver number end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target policy |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target policy |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
false | Middle initial |
| lastName | string |
false | Last name |
| status | string |
false | Driver status (driverStatusOptions)[#option-definitions-driverstatusoptions] |
| relation | string |
false | Relation to Insured. (relationToInsuredOptions)[#option-definitions-relationtoinsuredoptions] |
| dob | string |
false | Date of birth, mm/dd/yyyy |
| isMarried | boolean |
false | Indicates if the driver is married |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
Vehicles
GET
GET /api/v1/policy/{policynumber}/vehicles
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/vehicles' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "17A5A1AE-B6E1-4615-BDCB-EEFE8D8EE0DE",
"policyNumber": "TPSSGA000010101",
"carNumber": 1,
"vin": "2HGFA1F58A1111111",
"year": 2010,
"make": "Honda",
"model": "Civic",
"bodyStyle": "4-door Sedan | 4-cylinder"
},
{
"customerGuid": "17A5A1AE-B6E1-4615-BDCB-EEFE8D8EE0DE",
"policyNumber": "TPSSGA000010101",
"carNumber": 2,
"vin": "3GNAL3E56CS653969",
"year": 2012,
"make": "Chevrolet",
"model": "Captiva Sport",
"bodyStyle": "6-cylinder | 2WD"
}
]
Lists all vehicles on the policy. If more information on the vehicle is desired, can pull full vehicle profile from the Vehicle by VIN end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target policy |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target policy |
| carNumber | integer |
false | Car number assigned to each vehicle |
| vin | string |
false | VIN associated with the vehicle |
| year | string |
false | Model year of vehicle |
| make | string |
false | Make of vehicle |
| model | string |
false | Model of vehicle |
| bodyStyle | string |
true | Body Style of vehicle |
Driver by driver number
GET
GET /api/v1/policy/{policynumber}/driver/{drivernumber}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/driver/<drivernumber>' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"driverNumber": 1,
"firstName": "ELLIE",
"middleInitial": null,
"lastName": "NOISE",
"status": "RATED",
"suffix": null,
"gender": "F",
"dob": "1987-08-07",
"age": 34,
"licenseNum": "M12345678912",
"licenseState": "IL",
"licenseDate": "2003-08-07",
"relation": "INSURED",
"totalPoints": 0,
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"flags": [
{
"name": "Sr22",
"description": null,
"hasFlag": false,
"attributes": {
"sr22Date": "",
"sr22CaseNumber": null
}
},
{
"name": "Fr44",
"description": null,
"hasFlag": false,
"attributes": {}
}
],
"violations": []
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No driver found
{
"exception": "bad request",
"message": [
"Driver <drivernumber> on Policy <policynumber> not found"
]
}
This endpoints pulls the full details of the driver on a per driver basis. Note on this endpoint, all fields on driver should not be null however if the driver is in status of REVIEW, LIST or EXCLUDED, all of the properties may not be populated, those values are marked as "maybe" in nullable column.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned |
| driverNumber | integer |
true | The Driver number of the driver to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
false | Middle initial |
| lastName | string |
false | Last name |
| status | string |
false | Driver status, see driverStatusOptions for more information |
| suffix | string |
true | Suffix, ex: JR, SR, III |
| gender | string |
maybe | Gender of the driver, options are M or F |
| dob | dateTime |
maybe | Date of birth, mm/dd/yyyy |
| age | integer |
maybe | Age of driver |
| licenseNum | string |
maybe | License number |
| licenseState | string |
maybe | State license was issued in |
| licenseDate | dateTime |
maybe | Date driver became licensed |
| relation | string |
maybe | Relation to Insured, see relationToInsuredOptions for more information |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
| violationCount | integer |
false | Total number of violations tied to the driver |
| isIncludeAtRenewal | boolean? |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| isMarried | boolean? |
true | Indicates if the driver is married or single |
| isExcluded | boolean? |
true | Indicates if the driver is excluded |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| violations | List<violationObject> |
false | Any violations attached to the driver. See violationObject for more information |
Vehicle by VIN
GET
GET /api/v1/policy/{policynumber}/vehicle/{vin}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/vehicle/<vin>' \
--header 'Content-Type: application/xml' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"carNumber": 1,
"vin": "WP0AB2A93J3333333",
"make": "Porsche",
"model": "911",
"bodyStyle": "2-door Coupe | 6-cylinder | 4WD",
"costNew": 0.0,
"statedAmount": 150000,
"amountCustom": 0.0,
"annualMileage": 0.0,
"annualMiles": 10000,
"isIncludeAtRenewal": false,
"symbols": [
{
"symbol": "Make",
"value": "PR"
},
{
"symbol": "Model",
"value": "11"
},
{
"symbol": "Style",
"value": "2S"
}
],
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "250000/500000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "COLL",
"description": "Collision",
"limit": "5000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "COMP",
"description": "Comprehensive",
"limit": "5000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "GLASS",
"description": "Full Glass Coverage",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "LOAN",
"description": "Loan/Lease payoff",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "MP",
"description": "Medical Payments",
"limit": "2000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "100000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "RENT",
"description": "Rental",
"limit": "50/1500",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "Uninsured Motorist Bodily Injury",
"limit": "250000/500000",
"isUnusedCoverage": false
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 31.81,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 103.02,
"perMile": 0.029,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "COLL",
"written": 312.2,
"perMile": 0.059,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "COMP",
"written": 211.71,
"perMile": 0.04,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "LOAN",
"written": 62.12,
"perMile": 0.012,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "MP",
"written": 10.63,
"perMile": 0.002,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 23.06,
"perMile": 0.007,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "RENT",
"written": 29.96,
"perMile": 0.006,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 48.01,
"perMile": 0.009,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 49.16,
"perMile": 0.009,
"isUnusedCoverage": false
}
],
"flags": [
{
"name": "BusinessUse",
"description": null,
"hasFlag": false,
"attributes": null
},
{
"name": "IsFinanced",
"description": null,
"hasFlag": false,
"attributes": null
}
],
"lienHolders": [
{
"vin": "WP0AB2A93J3333333",
"name": "PAY FOR PORSCHE",
"address": "123 LIEN LANE",
"city": "ATL",
"state": "GA",
"zip": "30339",
"emailAddress": null,
"phoneNumber": null
}
],
"methodOfContact": "SMS",
"emailAddress": "CARLETTE.LANDRUM@MILEAUTO.COM",
"mobilePhoneNumber": "(770) 770-7700",
"ownershipType": null
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - Vehicle not found
{
"exception": "bad request",
"message": [
"Vehicle <vehiclenumber> on Policy <policynumber> not found"
]
}
This endpoints pulls the full details of the vehicle on a per vehicle basis.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target quote |
| vin | string |
true | The VIN of the vehicle to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy number |
| carNumber | string |
false | Assigned car number |
| vin | string |
false | Vehicle Identification Number |
| make | string |
false | Vehicle make |
| model | string |
false | Vehicle model |
| bodyStyle | string |
false | Vehicle body style |
| costNew | double |
false | New vehicle cost |
| statedAmount | double |
false | Stated amount |
| amountCustom | double |
false | Amount of custom items |
| annualMileage | double |
false | Yearly miles driven |
| annualMiles | integer |
false | |
| isIncludeAtRenewal | boolean |
false | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| symbols | Dictionary<string, string> |
false | Vehicle symbols and values (i.e. Make:BU, Model:RG, Style:44) |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| lienHolders | lienholderObject |
false | A lien holder object |
| methodOfContact | string |
false | Preferred method of contact (i.e. SMS, EMAIL) |
| emailAddress | string |
false | Insured email address. Depending on rules within your program, this field may or may not be required. |
| mobilePhoneNumber | string |
false | Insured mobile phone number |
| ownershipType | string |
true | See ownershipTypeOptions for more information |
Due Installments
GET
GET /api/v1/policy/{policynumber}/billing/installments
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/policy/<policynumber>/billing/installments' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "POLICY00001247",
"installmentNumber": 0.0,
"dueDate": "2022-06-14",
"isOnHold": false,
"totalDue": 111.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Convenience Fee",
"amount": 3.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "POLICY00001247",
"installmentNumber": 1.0,
"dueDate": "2022-07-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "POLICY00001247",
"installmentNumber": 2.0,
"dueDate": "2022-08-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "POLICY00001247",
"installmentNumber": 3.0,
"dueDate": "2022-09-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "POLICY00001247",
"installmentNumber": 4.0,
"dueDate": "2022-10-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "POLICY00001247",
"installmentNumber": 5.0,
"dueDate": "2022-11-14",
"isOnHold": false,
"totalDue": 134.63,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 124.63
}
]
}
]
Response - 400 - No Policy Found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No Due Installments Found
{
"exception": "bad request",
"message": [
"No due installments remain for policy <policynumber>"
]
}
Returns an array of Installment objects for the passed in Policy Number assuming found Policy has Due Installments.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| installments | List<installmentObject> |
false | A collection of installment objects |
Documents
GET
GET /api/v1/policy/{policynumber}/documents
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/policy/<policynumber>/documents' \
--header 'Content-Type: application/xml' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"id": 11152,
"department": "CLAIMS",
"recordKey": "CTQPSSSGA00120-1",
"indexNumber": 1,
"dateCreated": "",
"fileUrl": "http://url/to/file.pdf",
"fileDescription": "Declarations Page",
"thumbnailUrl": "http://url/to/thumbnail_if_applicable.png",
"createdBy": "system",
"createdFrom": "CLAIMS",
"isInternal": "false"
},
{
"id": 11153,
"department": "CLAIMS",
"recordKey": "CTQPSSSGA00120-1",
"indexNumber": 1,
"dateCreated": "",
"fileUrl": "http://url/to/file.pdf",
"fileDescription": "POLICE REPORT",
"thumbnailUrl": "http://url/to/thumbnail_if_applicable.png",
"createdBy": "system",
"createdFrom": "CLAIMS",
"isInternal": "false"
}
]
Gets all the documents tied to a policy that are in imaging. Documents could include spreadsheets, pdfs, mp3s, videos and images.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target policy |
Response Parameters
Returns an array of documents objects
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| department | string |
false | Department of which the document was generated for. Deparments include UNDERWRITING, CLAIMS, AGENTS, and VENDORS. |
| recordKey | string |
false | Based on the department, the record key indicates the claim number, policy number, agency code or vendor code for what document the record should be attached to. |
| indexNumber | integer |
false | Primarily used for claims but could be used in underwriting, a document can be tied to a claimant |
| dateCreated | dateTime |
false | Date document was initially created |
| fileUrl | string |
false | The full URL that will expire after a certain period of time, expiration time configured via setting in system. |
| fileDescription | string |
false | Description of the document, could be standardized but can also be free-form as a user of PACE |
| thumbnailUrl | string |
false | If applicable, a thumbnail of the document that can be used. |
| createdBy | string |
false | The username of who created the document. |
| createdFrom | string |
false | Where the document was created from. |
| isInternal | boolean |
false | If building an externally facing application, indicates whether the document should be displayed to the end user. |
Coverages
GET
GET /api/v1/policy/{policynumber}/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/policy/<policynumber>/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "101efda3-5436-4b2a-b621-8678f8fb64d3",
"policyNumber": "TFILPS141000174-00",
"hasPriorCoverage": true,
"hasPriorBalance": false,
"previousCarrier": "FARMERS",
"previousExpirationDate": "2022-12-20T00:01:00",
"priorMonthsInsured": 36,
"priorBiLimit": "25/50",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "100000/300000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "COLL",
"description": "Collision",
"limit": "1000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "COMP",
"description": "Comprehensive",
"limit": "1000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "GLASS",
"description": "Full Glass Coverage",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "LOAN",
"description": "Loan/Lease payoff",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "MP",
"description": "Medical Payments",
"limit": "2500",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "RENT",
"description": "Rental",
"limit": "125/3750",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "TOW",
"description": "Towing",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "20000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "Uninsured Motorist Bodily Injury",
"limit": "50000/100000",
"isUnusedCoverage": false
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 31.81,
"perMile": 0.0,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 144.18,
"perMile": 0.044,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "COLL",
"written": 391.11,
"perMile": 0.079,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "COMP",
"written": 234.87,
"perMile": 0.047,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "LOAN",
"written": 62.53,
"perMile": 0.013,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "MP",
"written": 40.62,
"perMile": 0.008,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 62.0,
"perMile": 0.019,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "RENT",
"written": 77.48,
"perMile": 0.016,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "TOW",
"written": 2.5,
"perMile": 0.001,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 28.22,
"perMile": 0.006,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 17.0,
"perMile": 0.003,
"isUnusedCoverage": false
}
]
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No vehicles found
{
"exception": "bad request",
"message": [
"No vehicles found on Policy <policynumber>"
]
}
This endpoint returns coverage information related to a policy
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Mileage based Coverages
GET
GET /api/v1/policy/{policynumber}/mileage/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/policy/<policynumber>/mileage/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "97d48783-8d25-45a5-8a1e-fa4ea495e690",
"policyNumber": "TFILPS141000179-00",
"hasPriorCoverage": true,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2022-12-15T00:00:00",
"priorMonthsInsured": 60,
"priorBiLimit": "250/500",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "250000/500000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "COLL",
"description": "Collision",
"limit": "5000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "COMP",
"description": "Comprehensive",
"limit": "5000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "GLASS",
"description": "Full Glass Coverage",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "LOAN",
"description": "Loan/Lease payoff",
"limit": "YES",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "MP",
"description": "Medical Payments",
"limit": "2000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "100000",
"isUnusedCoverage": false
},
{
"type": "VEHICLE",
"indexNumber": 1,
"name": "RENT",
"description": "Rental",
"limit": "50/1500",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "Uninsured Motorist Bodily Injury",
"limit": "250000/500000",
"isUnusedCoverage": false
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 31.81,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 103.02,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "COLL",
"written": 312.2,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "COMP",
"written": 211.71,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "LOAN",
"written": 62.12,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "MP",
"written": 10.63,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 23.06,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "RENT",
"written": 29.96,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 48.01,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 49.16,
"isUnusedCoverage": false
}
]
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - Vehicles not found
{
"exception": "bad request",
"message": [
"No vehicles found on Policy <policynumber>"
]
}
This endpoint returns coverage information related to a policy
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Payments History
GET
GET /api/v1/policy/{policynumber}/billing/payments/history
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/poicy/<policynumber>/billing/payments/history' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"paymentId": 5121,
"policyNumber": "POLICY00001247",
"username": "test",
"paymentType": "CC",
"totalPaid": 111.85,
"accountingDate": "2022-06-14",
"postmarkDate": "2022-06-14",
"voidDate": "",
"isVoid": false,
"isVoidRecord": false,
"isMovedMoney": false,
"transactionId": "ch_XXXXXXX82sGVPEy1eghMEYO",
"responseDescription": "",
"payTo": "",
"paymentBreakDown": []
}
]
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Returns a list of Payment History objects detailing various aspects of a payment including a fee breakdown if information is found
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| PaymentHistory | List<paymentHistoryObject> |
false | A collection of payment History Objects |
Next Due Installment
GET
GET /api/v1/policy/{policynumber}/billing/installments/nextdue
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/policy/<policynumber>/billing/installments/nextdue' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": "b60f6ec1-6302-4b75-bdcb-2c9674a4f368",
"policyNumber": "TFTNPS141000019-00",
"installmentNumber": 1.0,
"dueDate": "2022-06-28",
"isOnHold": false,
"totalDue": 101.77,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 7.0
},
{
"feeType": "Premium",
"amount": 89.77
}
]
}
Response - 400 - Policy not found
{
"exception": "bad request",
"message": [
"Policy <policynumber> not found"
]
}
Response - 400 - No installments found
{
"exception": "bad request",
"message": [
"No installments due for Policy <policynumber>"
]
}
This endpoint returns next due installment information
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| installmentNumber | double? |
true | The installment number |
| dueDate | string |
false | The date of when installment is due |
| isOnHold | boolean |
false | Indicates if installment is on hold |
| totalDue | double |
false | Total ammount due |
| isPaid | int? |
true | Indicates if installment is paid |
| totalPremium | double? |
true | Total premium |
| totalFees | double? |
true | Total fees |
| fees | List<feeObject> |
false | A fee object |
Upload Document
POST
POST
Example call
Response 200
{
}
Post Payment
POST
POST /api/v2/policy/payment/post
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/issue' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"guid": "ad7df3de-378b-4b9f-b9e3-de7518507420",
"policyNumber": "TGFA1233409-01",
"username": "testname",
"postMarkDate": "2025-03-30 04:27:57",
"paymentType": "CC",
"totalPaidAmt": 145.52,
"transactionId": "ch_xxxxxxxxxxxxxxxxx",
"responseDescription": "",
"breakDown":{
"name":"Test Test",
"amount": 145.52
}
}'
Response 200
{
"payment": {
"id": 5003,
"guid": "ae7a6c20-917e-446f-b914-f474037b6a1f"
}
}
For the policy and policy payment ID passed in, the corresponding payment is posted.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string |
true | Guid for the specific payment in question for the policy |
| policyNumber | string |
true | Policy number assigned to target policy |
| username | string |
true | Username of the one resquesting the post |
| postMarkDate | string |
true | The date which the post should be post marked |
| paymentType | string |
true | Says whether the payment is a credit card (CC) or an EFT |
| totalPaidAmt | double |
true | The total amount the post is going to be |
| transactionId | string |
true | The id specific to this transaction |
| responseDescription | string |
false | |
| breakDown | object |
true | Object that contains a list of objects made up of a name and amount |
Response Parameters
Returns an array of documents objects
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| Id | int |
false | Id of the PolicyPayment recorded |
| Guid | string |
false | The passed in Guid |
| Written | double |
false | Written amount of the target policy |
| Collected | double |
false | A total sum of all payment transactions for the target policy |
| FutureAction | string |
false | The future action, if any, of the target policy |
| FutureActionProcessDate | string |
false | The process date of the future action |
| FutureActionDateEffectiveDate | string |
false | The effective date of the future action |
| NextDueDate | string |
false | The date of the next installment due |
Void Payment
POST
POST /api/v1/policy/payment/void
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/quote/issue' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"policyNumber": "TGFA1233409-01",
"paymentId": "5003",
}'
Response 200
For the policy and policy payment ID passed in, the corresponding payment is voided.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Policy number assigned to target policy |
| paymentId | int |
true | PaymentId that is to be voided |
Response Parameters
Response 200
Quote Endorsement
POST
POST /api/v2/policy/endorse/quote
Example call to quote an endorsement
curl --location --request POST 'http://<your provided hostname>/api/v2/policy/endorse/quote' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"mgaName": "",
"leadSource": "",
"leadSourceBusinessName": "",
"rateCall": "",
"policyNumber": "PSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"effectiveDate": "2025-03-30 04:27:57",
"expirationDate": "2025-03-30",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com",
"addresses": [
{
"type": "mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
},
{
"type": "garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "3333333333"
}
],
"payPlan": {
"downPayment": 0.083,
"installments": 11
},
"isPaperless": true,
"isNonOwners": false,
"hasPriorCoverage": true,
"has131Lapse": false,
"hasNoLapse": true,
"hasGtr31Lapse": false,
"previousCompany": "Other",
"previousExpirationDate": "",
"priorMonthsInsured": 11,
"priorBiLimit": "NONE",
"isEft": false,
"isRecurringEft": false,
"isGarageSameAsMailing": true,
"isHomeOwner": false,
"isMultiCarHouseHold": false,
"creditScore": -11,
"estimatedCreditScore": null,
"rewriteReason": "",
"renewalCount": 0,
"lengthOfResidency": null,
"homeOwnerType": null,
"tortOption": "F",
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null,
"restraintCode": "PSB",
}
],
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
],
"limits": [
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
],
"flags": [
{
"name": "Non-renew",
"value": "NON-RENEW",
"hasFlag": true,
"indexNumber": null,
"attributes": []
}
]
}'
Response 200
{
"originalWritten": 500,
"newWritten": 565.95,
"changeInWritten": 65.95,
"auditActionId": 12345
}
This endpoint creates an endorsement quote which shows the current written, new written and change in written based on changes to the policy sent in the request. The request is the response provided from the Serialize endpoint.
Request Parameters
| Parameter | Type | Required | Description |
|---|
See response definition of the Serialize endpoint. The flow should be to call the Serialize endpoint to get a json version of the policy as it currently stands, make any changes needed to that json object and submit it as the request to the endorsement quote endpoint.
Adding a vehicle
To add a vehicle to a policy via endorsement, you'll need to add an additional vehicle object to the vehicles array property of the serialize response.
When adding a new vehicle, do not populate a carNumber, the carNumber will be generated by the system.
| Array after calling Serialize | Additional vehicle added |
|---|---|
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
}
]
|
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
},
//
// New vehicle below
//
{
"vin": "200000000000000000",
"year": 1976,
"make": "Cheverolte",
"model": "Corvette",
"bodyStyle": "Stingray",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
}
]
|
Updating a Vehicle
To update a vehicle, make the necessary changes to the vehicle object as desired. You can update the vin, change the coverages, update selected discounts...etc.
The example below shows changing COMP deductibles from 1000 to 500.
| Array after calling Serialize | Additional vehicle added |
|---|---|
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
}
]
|
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "500"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "500"
}
],
"flags": [],
"ratedOperator": null
}
]
|
Removing a vehicle
To remove a vehicle from a policy via endorsement, you'll need to select the desired vehicle to remove and not include it in the request to the endorsement API. This indicates to the API that the vehicle is to be removed.
| Array after calling Serialize | Vehicle Removed |
|---|---|
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
},
{
"carNumber": 4,
"vin": "200000000000000000",
"year": 1976,
"make": "Cheverolte",
"model": "Corvette",
"bodyStyle": "Stingray",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
}
]
|
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null
}
//
// Car# 4 is missing from the request which indicates
// to the API that the vehicle is to be removed
// and will be rated as such
//
]
|
Adding a driver
To add a driver to a policy via endorsement, you'll need to add an additional driver object to the drivers array property of the serialize response.
When adding a new driver, do not populate a driverNumber, the driverNumber will be generated by the system.
| Array after calling Serialize | Removed |
|---|---|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
]
|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
},
//
// The following driver is being added,
// note driverNumber is not provided as
// that will be assigned by the system.
//
{
"firstName": "EMPEROR",
"middleInitial": "",
"lastName": "PALPATINE",
"suffix": "",
"gender": "M",
"dob": "1966-03-05",
"age": "55",
"licenseNum": "TXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "1980-03-05",
"relation": "SPOUSE",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
]
|
Updating a driver
To update a driver, make the necessary changes to the driver object as desired. You can update the license, date of birth, name, applicable discounts...etc.
The example below shows the license# of the driver being updated.
| Array after calling Serialize | Updated |
|---|---|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
]
|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "WYYYYYYYYYYYYYYY",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
]
|
Removing a driver
To remove a driver from a policy via endorsement, you'll need to select the desired driver to remove and not include it in the request to the endorsement API. This indicates to the API that the driver is to be removed.
| Array after calling Serialize | Removed |
|---|---|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
},
{
"driverNumber": 2,
"firstName": "EMPEROR",
"middleInitial": "",
"lastName": "PALPATINE",
"suffix": "",
"gender": "M",
"dob": "1966-03-05",
"age": "55",
"licenseNum": "TXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "1980-03-05",
"relation": "SPOUSE",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
]
|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
//
// Driver# 2 is not included in the request to be
// sent to the endorse quote API which will
// indicate to the API that driver 2 is
// to be removed.
//
]
|
Updating flags (Policy / Driver / Vehicle)
To update the flags at either the policy, driver or vehicle level, you can add or remove flag objects from the flag array as desired. The principles at the driver level apply to the same flags arrays on the vehicle and policy levels. For more information on what flags are available, please review the driverFlagsDefinition, vehicleFlagsDefinition and policyFlagsDefinition
In the example below, some properties of the driver object have been removed for berevity, the driver is being flagged as having the Good Driver discount. For more information on the flags object see flagObject definition.
| Array after calling Serialize | Removed |
|---|---|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"lastName": "VADER",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED"
"status": "RATED",
"licenseStatus": "ACTIVE"
"flags": [],
"violations": []
}
]
|
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"lastName": "VADER",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED"
"status": "RATED",
"licenseStatus": "ACTIVE"
"flags": [
{
"name": "GoodDriver",
"value": "",
"hasFlag": true
}
],
"violations": []
}
]
|
Adding a coverage
To add a coverage, it is recommended to verify the coverage options provided are valid, you can do so by seeing the coverages returned from the Get Coverages by State and Effective Date endpoint or one of the other Get Coverages endpoints provided. This endpoint will provide you with the valid options and coverage abbreviations to be sent in the limits array as part of a new limit object.
| Array after calling Serialize | Added |
|---|---|
"limits": [
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
]
|
"limits": [
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
},
//
// UMBI was added to the policy
//
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
}
]
|
Updating a coverage
To update a coverage, it is recommended to verify the coverage options provided are valid, you can do so by seeing the coverages returned from the Get Coverages by State and Effective Date endpoint or one of the other Get Coverages endpoints provided.
| Array after calling Serialize | Updated |
|---|---|
"limits": [
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
}
]
|
"limits": [
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
//
// BI Coverage was updated
//
{
"type": "POLICY",
"name": "BI",
"limit": "50000/100000"
},
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
}
]
|
Removing a coverage
To remove a coverage, call the serialze endpoint to obtain the policy json and remove the desired coverage from the json. The rules engine will run and evaluate whether or not the coverage can be removed and return an error or bump the coverage if the combination selected is not allowed.
| Array after calling Serialize | Removed |
|---|---|
"limits": [
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "50000/100000"
},
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "MP",
"limit": "1000"
}
]
|
"limits": [
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "50000/100000"
},
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
}
//
// MP coverage not included in API request
// to be sent for endorsmeent quote
// which indicates to the API that this
// coverage was removed.
//
// The same behavior to remove a policy level
// coverage applies to the vehicle level
// coverages.
//
]
|
Updating policy information
To update the policy information, you can alter the policy object json obtained from the Serialize response. The Serialize response definition provides notes as to which fields are readonly.
You can change addresses, contact information, correct insured names, update the policy to include prior coverage...etc.
In the example below, the object after calling Serialize endpoint and the updated version have been truncated for berevity. The entire policy object as shown in the Serialize endpoint should be sent as the request when quoting an endorsement.
The example below show updating a policy to change the insureds email address.
| Array after calling Serialize | Updated |
|---|---|
{
"policyNumber": "PSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com"
}
|
{
"policyNumber": "PSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "test@pss.com"
}
|
Response Definition
Endorsement Quote Response Object
| Parameter | Type | Description |
|---|---|---|
| originalWritten | double |
The policy written prior to performing the endorsement |
| newWritten | double |
The policy written after performing the endorsement |
| changeInWritten | double |
The difference between the original written and new written dollar amounts |
| auditActionId | int |
The id assigned to the changes for this quote's endorsement |
Issue Endorsement
POST
POST /api/v2/policy/endorse/issue
Example call to quote an endorsement
curl --location --request POST 'http://<your provided hostname>/api/v2/policy/endorse/issue' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"mgaName": "",
"leadSource": "",
"leadSourceBusinessName": "",
"rateCall": "",
"policyNumber": "PSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"effectiveDate": "2025-03-30 04:27:57",
"expirationDate": "2025-03-30",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com",
"addresses": [
{
"type": "mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
},
{
"type": "garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "3333333333"
}
],
"payPlan": {
"downPayment": 0.083,
"installments": 11
},
"isPaperless": true,
"isNonOwners": false,
"hasPriorCoverage": true,
"has131Lapse": false,
"hasNoLapse": true,
"hasGtr31Lapse": false,
"previousCompany": "Other",
"previousExpirationDate": "",
"priorMonthsInsured": 11,
"priorBiLimit": "NONE",
"isEft": false,
"isRecurringEft": false,
"isGarageSameAsMailing": true,
"isHomeOwner": false,
"isMultiCarHouseHold": false,
"creditScore": -11,
"estimatedCreditScore": null,
"rewriteReason": "",
"renewalCount": 0,
"lengthOfResidency": null,
"homeOwnerType": null,
"tortOption": "",
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null,
"restraintCode": "",
}
],
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
],
"limits": [
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
],
"flags": [
{
"name": "Non-renew",
"value": "NON-RENEW",
"hasFlag": true,
"indexNumber": null,
"attributes": []
}
]
}'
Response 200
{
"originalWritten": 500,
"newWritten": 565.95,
"changeInWritten": 65.95,
}
This endpoint issues an endorsement to the policy. The request for the endorsment issuance endpoint is the same as the request for the endorse quote endpoint.
Request Parameters
| Parameter | Type | Required | Description |
|---|
See response definition of the Serialize endpoint. The flow should be to call the Serialize endpoint to get a json version of the policy as it currently stands, make any changes needed to that json object and submit it as the request to the endorse quote endpoint, then if the changes are accepted, make the same call from the endorse quote endpoint to the Issue Endorsement endpoint.
Response Definition
Endorsement Quote Response Object
| Parameter | Type | Description |
|---|---|---|
| originalWritten | double |
The policy written prior to performing the endorsement |
| newWritten | double |
The policy written after performing the endorsement |
| changeInWritten | double |
The difference between the original written and new written dollar amounts |
Issue Endorsement By Action ID
POST
POST /api/v2/policy/endorse/issueByActionId
Example call to issue an endorsement by action id
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | The policy number of the policy that has the endorsement to be issued |
| auditActionId | int |
true | The audit action id that corresponds to the endorse that is to be issued |
Example call
curl --location --request POST 'http://<your provided hostname>/api/v2/policy/endorse/issue' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"policyNumber": "policynum-00",
"auditActionId": 12345,
}
Response 200
{
"originalWritten": 500,
"newWritten": 565.95,
"changeInWritten": 65.95
}
Response Definition
Endorsement Quote Response Object
| Parameter | Type | Description |
|---|---|---|
| originalWritten | double |
The policy written prior to performing the endorsement |
| newWritten | double |
The policy written after performing the endorsement |
| changeInWritten | double |
The difference between the original written and new written dollar amounts |
Add document to print by mail
POST
POST /api/v1/policy/documents/print/queue/add
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/policy/documents/print/queue/add' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"policyNumber": "XXXX123409",
"documentId": 321
"dateToPrint": "2025-03-30 04:27:57"
}'
Response 200
{
"policyNumber": "XXXX123409",
"documentId": 321,
"printQueueId": 423,
"processDate": "2025-03-30 04:27:57",
"isPrinted": false,
"hasErrors": false
}
Pulls a specified document by ID for the specified policy and adds the document to the queue to be printed
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | The policy number associated with the document that is being requested to print |
| documentId | int |
true | The id of the document that has been requested to print |
| dateToPrint | datetime |
true | The date in which the printing will process |
Response Definition
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| policyNumber | string |
false | The policy number associated with the document that is being requested to print |
| documentId | int |
false | The id of the document that has been requested to print |
| printQueueId | int |
false | The id of document in the print queue |
| processDate | datetime |
false | The date in which the printing will process |
| isPrinted | bool |
false | Indicates if the document has been printed |
| hasErrors | bool |
false | Indicates if there were any errors with the document |
Print by mail Document Status
GET
GET /api/v1/policy/{policynumber}/documents/print/queue/{documentId}/status
Example call
curl --location --request GET 'http://<your provided hostname>/api/v1/policy/{policynumber}/documents/print/queue/{documentId}/status' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"queueId": 423,
"customerGuid": "XXXX-XXXX-XXXXXXXXX-XXXX",
"policyNumber": "XXXX123409",
"description": "NOTICE OF CANCELLATION",
"requestedBy": "bob",
"printedBy": "system",
"errorMessage": "Policy reinstated",
"isPrinted": false,
"hasErrors": true,
"isCertifiedMail": false,
"datePrinted": "2025-03-30 04:27:57",
"processDate": "2025-03-30 04:27:57",
}
Response 400
{
"exception": "bad request",
"message": [
"Unable to locate document in print queue with Id of {documentId} and Policy Number of {policynumber}"
]
}
Gets the current status of time of request for a given docuement for a given policy number
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | The policy number associated with the document that is being requested to print |
| documentId | int |
true | The id of the document in the print queue that the status has been requested |
Response Definition
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| document | printQueueObject | false | print Queue Object |
Documents in Print By Mail Queue
GET
GET /api/v1/policy/{policynumber}/documents/print/queue
Example call
curl --location --request GET 'http://<your provided hostname>/api/v1/policy/{policynumber}/documents/print/queue' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
Response 200
[
{
"queueId": 423,
"customerGuid": "XXXX-XXXX-XXXXXXXXX-XXXX",
"policyNumber": "XXXX123409",
"description": "NOTICE OF CANCELLATION",
"requestedBy": "bob",
"printedBy": "system",
"errorMessage": "Policy reinstated",
"isPrinted": false,
"hasErrors": true,
"isCertifiedMail": false,
"datePrinted": "2025-03-30 04:27:57",
"processDate": "2025-03-30 04:27:57",
},
{
"queueId": 424,
"customerGuid": "XXXX-XXXX-XXXXXXXXX-XXXX",
"policyNumber": "XXXX123409",
"description": "NOTICE OF NONPAY",
"requestedBy": "bob",
"printedBy": "system",
"errorMessage": "Policy reinstated",
"isPrinted": false,
"hasErrors": true,
"isCertifiedMail": false,
"datePrinted": "2025-03-30 04:27:57",
"processDate": "2025-03-30 04:27:57",
}
]
For a given policy number, returns back a list of all underwriting documents in the print queue for that policy and their status
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | The policy number associated with the documenst that are being requested to print |
Response Definition
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| queueDocs | List<printQueueObject> | false | A list of print Queue Object |
Serialize Policy
GET
GET /api/v2/policy/<policynumber>/serialize
Example call to serialize an in force policy
curl --location --request GET 'http://<your provided hostname>/api/v2/policy/<policynumber>/serialize' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"mgaName": "",
"leadSource": "",
"leadSourceBusinessName": "",
"rateCall": "",
"policyNumber": "PSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"effectiveDate": "2025-03-30 04:27:57",
"expirationDate": "2025-03-30",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com",
"addresses": [
{
"type": "mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
},
{
"type": "garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "3333333333"
}
],
"payPlan": {
"downPayment": 0.083,
"installments": 11
},
"isPaperless": true,
"isNonOwners": false,
"hasPriorCoverage": true,
"has131Lapse": false,
"hasNoLapse": true,
"hasGtr31Lapse": false,
"previousCompany": "Other",
"previousExpirationDate": "",
"priorMonthsInsured": 11,
"priorBiLimit": "NONE",
"isEft": false,
"isRecurringEft": false,
"isGarageSameAsMailing": true,
"isHomeOwner": false,
"isMultiCarHouseHold": false,
"creditScore": -11,
"estimatedCreditScore": null,
"rewriteReason": "",
"renewalCount": 0,
"lengthOfResidency": null,
"homeOwnerType": null,
"tortOption":""
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null,
"restraintCode": ""
}
],
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
],
"limits": [
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
],
"flags": [
{
"name": "Non-renew",
"value": "NON-RENEW",
"hasFlag": true,
"indexNumber": null,
"attributes": []
}
]
}
This endpoint serializes an issued policy, regardless of status, to a json object use for endorsements or other display purposes
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Policy number from in force policy that you wish to serialize to a json object |
Response
Policy Serialization Response Object
| Parameter | Type | Editable? | Description |
|---|---|---|---|
| mgaName | string |
true | Targets a specific program for rating purposes, only for use at new business. See mgaNameOptions for more information. |
| leadSource | string |
true | The source of where the quote came from. Not related to which real time rater or location the quote was rated from. See leadSourceOptions |
| leadSourceBusinessName | string |
true | The available business dependent upon the leadSource of which the quote came from. See leadSourceBusinessNameOptions for more information. |
| rateCall | string |
true | When used for quoting and endorsements, rateCall defines what grouping of integrations to run prior to returning a rated quote. See rateCallOptions for more information |
| policyNumber | string |
true | Policy number assigned to policy |
| agencyCode | string |
true | Agency code in which policy was bound |
| username | string |
true | Username of person who issued policy |
| lob | string |
true | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| effectiveDate | string |
true | Effective date of the policy |
| expirationDate | string |
true | Expiration date of the policy |
| term | string |
true | Policy term in months |
| insuredFirstName | string |
true | First Name |
| insuredMiddleInitial | string |
true | Middile Initial, 1 character |
| insuredLastName | string |
true | Last Name |
| insuredSuffix | string |
true | Suffix, ex: JR, SR, III |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| emailAddress | string |
true | Email Address |
| addresses | addressesObject |
true | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
true | Phone numbers, see phoneNumberObject for momre details |
| payPlan | payPlanObject |
true | Desired pay plan for policy term, see payPlanObject for more details |
| isPaperless | string |
true | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | string |
true | Indicates if the policy is a non-owners policy |
| hasPriorCoverage | string |
true | Indicats if prior coverage has been selected |
| has131Lapse | string (read only) |
false | Indicates if there is a 1 to 31 day lapse, this is read only |
| hasNoLapse | string (read only) |
false | Indicates if there is a lapse on the policy |
| hasGtr31Lapse | string (read only) |
false | Indicates if there is a lapse that is greater than 31 days |
| previousCompany | string |
true | Previous insurance company where coverage was selected. Optional and only relevant when hasPriorCoverage is true. |
| previousExpirationDate | string |
true | Expiration date of the previous policy they had coverage on. Optional only when hasPriorCoverage is true. |
| priorMonthsInsured | string |
true | Number of months previously insured. Optional only when hasPriorCoverage is true. |
| priorBiLimit | string |
true | BI Limit selected on last policy in which they had coverage. Optional only when hasPriorCoverage is true. |
| isEft | string |
true | Indicates if the policy is paid via EFT |
| isRecurringEft | string (depricated) |
true | No longer in use. |
| isGarageSameAsMailing | string |
true | Indicates if the garaging address is the same as the mailing address |
| isHomeOwner | string |
true | Indicates if insured is a home owner |
| homeOwnerType | string |
true | The type of home owned. See homeOwnerTypeOptions for more details |
| isMultiCarHouseHold | string |
false | Indicates if there are multiple cars in household, used to override multi-car discount |
| creditScore | string (read only) |
false | Credit score, at policy level, this is read only |
| estimatedCreditScore | string |
true | Estimated credit score, at policy level this is read only. See estimatedCreditScoreOptions for more details |
| rewriteReason | string |
false | The reason the policy was rewriten, if it was rewriten. Empty reason indicates policy was not rewritten. |
| renewalCount | string |
false | The number of times a policy has been renewed. Renewal count of 0 indicates new business |
| lengthOfResidency | string |
true | The length of time at current residence. See lengthOfResidencyOptions for more details |
| tortOption | string |
false | Indicates the amount of tort coverage on the policy |
| vehicles | vehicleObject |
true | Lists all the vehicles on the policy. See vehicleObject for more information. |
| drivers | driverObject |
true | Lists all the drivers on the policy. See driverObject for more information. |
| limits | coverageLimitObject |
true | Lists all current in force coverages on the policy. See coverageLimitObject for more information. |
| flags | flagObject |
true | Any applicable flags currently on the policy or to be sent as part of the endorsement at the policy level. |
Serialize Specific Endorsement
GET
GET /api/v1/endorsequote/<policynumber>/<auditActionId>/serialize
Example call to serialize an in force policy's endorsement
curl --location --request GET 'http://<your provided hostname>/api/v1/endorsequote/<policynumber>/<auditActionId>/serialize' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"mgaName": "",
"leadSource": "",
"leadSourceBusinessName": "",
"rateCall": "",
"policyNumber": "QPSSGA01118",
"agencyCode": "4001-1",
"username": "",
"lob": 1,
"ratedState": "GA",
"effectiveDate": "2025-03-30 04:27:57",
"expirationDate": "2025-03-30",
"term": 12,
"insuredFirstName": "DARTH",
"insuredMiddleInitial": null,
"insuredLastName": "VADER",
"insuredSuffix": "",
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": "",
"emailAddress": "info@perimetersoftwaresolutions.com",
"addresses": [
{
"type": "mailing",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
},
{
"type": "garaging",
"streetName": "100 MAIN STREET",
"city": "WOODSTOCK",
"state": "GA",
"zip": "30188",
"county": ""
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "3333333333"
}
],
"payPlan": {
"downPayment": 0.083,
"installments": 11
},
"isPaperless": true,
"isNonOwners": false,
"hasPriorCoverage": true,
"has131Lapse": false,
"hasNoLapse": true,
"hasGtr31Lapse": false,
"previousCompany": "Other",
"previousExpirationDate": "",
"priorMonthsInsured": 11,
"priorBiLimit": "NONE",
"isEft": false,
"isRecurringEft": false,
"isGarageSameAsMailing": true,
"isHomeOwner": false,
"isMultiCarHouseHold": false,
"creditScore": -11,
"estimatedCreditScore": null,
"rewriteReason": "",
"renewalCount": 0,
"lengthOfResidency": null,
"homeOwnerType": null,
"tortOption": ""
"vehicles": [
{
"carNumber": 3,
"vin": "100000000000000000",
"year": 1966,
"make": "Ford",
"model": "Mustang",
"bodyStyle": "GT",
"costNew": "0",
"amountCustom": 0,
"annualMileage": 0,
"isIncludeAtRenewal": false,
"ownershipType": null,
"statedAmount": null,
"lengthOfOwnership": null,
"aebCode": null,
"blindSpotCode": null,
"mileage": {
"usageType": null,
"miles": null
},
"lienHolders": null,
"coverageLimits": [
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COMP",
"limit": "1000"
},
{
"type": "VEHICLE",
"carNumber": 3,
"name": "COLL",
"limit": "1000"
}
],
"flags": [],
"ratedOperator": null,
"restraintCode": "",
}
],
"drivers": [
{
"driverNumber": 1,
"firstName": "DARTH",
"middleInitial": "",
"lastName": "VADER",
"suffix": "",
"gender": "M",
"dob": "1996-03-05",
"age": "25",
"licenseNum": "RXXXXXXXXXXXXX",
"licenseState": "WI",
"licensedDate": "2010-03-05",
"relation": "INSURED",
"totalPoints": "0",
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"status": "RATED",
"licenseStatus": "ACTIVE",
"educationCode": null,
"listOnlyOption": null,
"occupationGroup": null,
"occupationCode": null,
"flags": [],
"violations": []
}
],
"limits": [
{
"type": "POLICY",
"name": "UMBI",
"limit": "25000/50000"
},
{
"type": "POLICY",
"name": "PD",
"limit": "10000"
},
{
"type": "POLICY",
"name": "BI",
"limit": "25000/50000"
}
],
"flags": [
{
"name": "Non-renew",
"value": "NON-RENEW",
"hasFlag": true,
"indexNumber": null,
"attributes": []
}
]
}
This endpoint serializes an issued policy's specific endorsement, regardless of status, to a json object for display purposes
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Policy number from in force policy that you wish to serialize to a json object |
| auditActionID | int |
true | Audit action id of the endorsement for the policy that has been specified |
Response
Policy Endorsement Serialization Response Object
| Parameter | Type | Editable? | Description |
|---|---|---|---|
| mgaName | string |
true | Targets a specific program for rating purposes, only for use at new business. See mgaNameOptions for more information. |
| leadSource | string |
true | The source of where the quote came from. Not related to which real time rater or location the quote was rated from. See leadSourceOptions |
| leadSourceBusinessName | string |
true | The available business dependent upon the leadSource of which the quote came from. See leadSourceBusinessNameOptions for more information. |
| rateCall | string |
true | When used for quoting and endorsements, rateCall defines what grouping of integrations to run prior to returning a rated quote. See rateCallOptions for more information |
| policyNumber | string |
true | Policy number assigned to quote |
| agencyCode | string |
true | Agency code in which policy was bound |
| username | string |
true | Username of person who issued policy |
| lob | string |
true | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| effectiveDate | string |
true | Effective date of the policy |
| expirationDate | string |
true | Expiration date of the policy |
| term | string |
true | Policy term in months |
| insuredFirstName | string |
true | First Name |
| insuredMiddleInitial | string |
true | Middile Initial, 1 character |
| insuredLastName | string |
true | Last Name |
| insuredSuffix | string |
true | Suffix, ex: JR, SR, III |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| emailAddress | string |
true | Email Address |
| addresses | addressesObject |
true | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
true | Phone numbers, see phoneNumberObject for momre details |
| payPlan | payPlanObject |
true | Desired pay plan for policy term, see payPlanObject for more details |
| isPaperless | string |
true | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | string |
true | Indicates if the policy is a non-owners policy |
| hasPriorCoverage | string |
true | Indicats if prior coverage has been selected |
| has131Lapse | string (read only) |
false | Indicates if there is a 1 to 31 day lapse, this is read only |
| hasNoLapse | string (read only) |
false | Indicates if there is a lapse on the policy |
| hasGtr31Lapse | string (read only) |
false | Indicates if there is a lapse that is greater than 31 days |
| previousCompany | string |
true | Previous insurance company where coverage was selected. Optional and only relevant when hasPriorCoverage is true. |
| previousExpirationDate | string |
true | Expiration date of the previous policy they had coverage on. Optional only when hasPriorCoverage is true. |
| priorMonthsInsured | string |
true | Number of months previously insured. Optional only when hasPriorCoverage is true. |
| priorBiLimit | string |
true | BI Limit selected on last policy in which they had coverage. Optional only when hasPriorCoverage is true. |
| isEft | string |
true | Indicates if the policy is paid via EFT |
| isRecurringEft | string (depricated) |
true | No longer in use. |
| isGarageSameAsMailing | string |
true | Indicates if the garaging address is the same as the mailing address |
| isHomeOwner | string |
true | Indicates if insured is a home owner |
| homeOwnerType | string |
true | The type of home owned. See homeOwnerTypeOptions for more details |
| isMultiCarHouseHold | string |
false | Indicates if there are multiple cars in household, used to override multi-car discount |
| creditScore | string (read only) |
false | Credit score, at policy level, this is read only |
| estimatedCreditScore | string |
true | Estimated credit score, at policy level this is read only. See estimatedCreditScoreOptions for more details |
| rewriteReason | string |
false | The reason the policy was rewriten, if it was rewriten. Empty reason indicates policy was not rewritten. |
| renewalCount | string |
false | The number of times a policy has been renewed. Renewal count of 0 indicates new business |
| lengthOfResidency | string |
true | The length of time at current residence. See lengthOfResidencyOptions for more details |
| tortOption | string |
false | Indicates the amount of tort coverage on the policy |
| vehicles | vehicleObject |
true | Lists all the vehicles on the policy. See vehicleObject for more information. |
| drivers | driverObject |
true | Lists all the drivers on the policy. See driverObject for more information. |
| limits | coverageLimitObject |
true | Lists all current in force coverages on the policy. See coverageLimitObject for more information. |
| flags | flagObject |
true | Any applicable flags currently on the policy or to be sent as part of the endorsement at the policy level. |
Renewal Quotes
Has been issued?
GET
GET /api/v1/renewalquote/{priorpolicynumber}/isissued"/span>
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/renewalquote/<priorpolicynumber>/isissued' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"isIssued": false
}
This endpoint returns whether or not a renewal quote has been issued
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| priorpolicynumber | string |
true | Policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| isIssued | boolean |
false | Indicates if quote/policy has been issued |
Does Renewal Quote Exist?
GET
GET /api/v1/renewalquote/{policynumber}/exists
Example API Call
curl --location --request GET 'http://<your provided hostname>/api/v1/renewalquote/<policyNumber>/exists' \
--header 'pace-api-key: <your api key here>' \
Response 200
{
"customerGuid": null,
"policyNumber": "TMAOR000001138-1",
"doesExist": true
}
This endpoints returns a small subset of quote data to determine whether or not the quote exists by policy#. This endpoint is useful to check whether or not a renewal quote has been issued to a quote at the time of the request.
If no quote is found by given policyNumber, a null policy object is returned.`
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Quote |
| doesExist | boolean |
false | Indicates whether the Quote exists or not |
Renewal Quote info
GET
GET /api/v1/renewalquote/{policynumber}/info
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/renewalquote/<policynumber>/info' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": null,
"policyNumber": "TMAOR000001138",
"agencyCode": "33001-1",
"lob": 0,
"ratedState": "OR",
"priorPolicyNumber": "TMAOR000001138",
"nextPolicyNumber": "TMAOR000001138-2",
"status": "PENDING",
"effectiveDate": "2018-11-29",
"expirationDate": "2019-05-29",
"cancelDate": null,
"quotedDate": "2018-05-30T01:13:07.597",
"term": 6,
"written": 697.42,
"insuredFirstName": "ABC",
"insuredMiddleInitial": null,
"insuredLastName": "QUOTE",
"insuredSuffix": null,
"insuredDateOfBirth": null,
"secondInsuredFirstName": null,
"secondInsuredMiddleInitial": null,
"secondInsuredLastName": null,
"secondInsuredSuffix": null,
"addresses": [
{
"type": "Mailing",
"streetName": "987 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97202",
"county": "MULTNOMAH"
},
{
"type": "Garaging",
"streetName": "987 MAIN STREET",
"city": "PORTLAND",
"state": "OR",
"zip": "97202",
"county": "MULTNOMAH"
}
],
"phoneNumbers": [
{
"type": "Mobile",
"number": "(678) 221-8561"
}
],
"emailAddress": "JENNIFER.STATEN@MILEAUTO.COM",
"isPaperless": false,
"isNonOwners": false
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
This endpoint returns basic information related to a renewal quote
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| agencyCode | string |
false | Agency code in which policy was bound |
| lob | integer |
false | Line of business Id |
| ratedState | string |
false | The state in which the policy has been assigned |
| priorPolicyNumber | string |
true | If quote has prior insurance, this is the policy# that the insured previously had coverage on |
| nextPolicyNumber | string |
false | Assuming the insured renews, this will be the next policy#. Not applicable on quotes. |
| status | string |
false | Current status of the policy. See policyStatusOptions for more information. |
| effectiveDate | dateTime |
false | Effective date of the policy |
| expirationDate | dateTime |
false | Expiration date of the policy |
| cancelDate | dateTime |
true | If status is CANCEL, this is the date the policy was cancelled |
| quotedDate | dateTime |
false | Date policy was quoted |
| term | integer |
false | Policy term in months |
| written | double |
false | The total premium for the quote |
| insuredFirstName | string |
false | First Name |
| insuredMiddleInitial | string |
false | Middle Initial, 1 character |
| insuredLastName | string |
false | Last Name |
| insuredSuffix | string |
false | Suffix, ex: JR, SR, III |
| insuredDateOfBirth | string |
false | Insured date of birth |
| secondInsuredFirstName | string |
true | Second/Additional Insured First Name |
| secondInsuredMiddleInitial | string |
true | Second/Additional Insured Middle Initial, 1 Character |
| secondInsuredLastName | string |
true | Second/Additional Insured Last Name |
| secondInsuredSuffix | string |
true | Second/Additional Insured Suffix, ex: JR, SR, III |
| addresses | addressesObject |
false | The garaging and mailing address of the vehicle. See addressesObject for more details |
| phoneNumbers | phoneNumberObject |
false | Phone numbers, see phoneNumberObject for more details |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| isPaperless | boolean |
false | Indicates if policy is to receive paper copies of documents, exception being documents required to be sent via certified mail. |
| isNonOwners | boolean |
false | Indicates if the policy is a non-owners policy |
Drivers
GET
GET /api/v1/renewalquote/{policynumber}/drivers
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/renewalquote/<policynumber>/drivers' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"policyNumber": "TMAOR000001138-1",
"driverNumber": 1,
"firstName": "ABC",
"middleInitial": null,
"lastName": "QUOTE",
"status": null,
"relation": "INSURED",
"dob": "1980-01-01",
"isMarried": false,
"isExcluded": false,
"totalPoints": 0
}
]
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - Drivers not found
{
"exception": "bad request",
"message": [
"No drivers found for quote <policynumber>"
]
}
Lists all drivers on the quote. If more information on the driver is desired, can pull full driver profile from the Driver by driver number end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
true | Middle initial |
| lastName | string |
false | Last name |
| status | string |
true | Driver status, see driverStatusOptions for more information |
| relation | string |
false | Relation to Insured. relationToInsuredOptions |
| dob | string |
false | Date of birth, mm/dd/yyyy |
| isMarried | boolean |
false | Indicates if the driver is married |
| isExcluded | boolean |
false | Indicates if the driver is excluded |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
Vehicles
GET
GET /api/v1/renewalquote/{policynumber}/vehicles
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/renewalquote/<policynumber>/vehicles' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"policyNumber": "TMAOR000001138-1",
"carNumber": 1,
"vin": "SALCR2BG5HH714060",
"year": 2017,
"make": "LAND ROVER",
"model": "DISCOVERY SPORT HSE",
"bodyStyle": "null"
}
]
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - Vehicles not found
{
"exception": "bad request",
"message": [
"No vehicles found for quote <policynumber>"
]
}
Lists all vehicles on the quote. If more information on the vehicle is desired, can pull full vehicle profile from the Vehicle by VIN end point
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| carNumber | integer |
false | Car number assigned to each vehicle |
| vin | string |
false | VIN associated with the vehicle |
| year | string |
false | Model year of vehicle |
| make | string |
false | Make of vehicle |
| model | string |
false | Model of vehicle |
| bodyStyle | string |
true | Body Style of vehicle |
Driver by driver number
GET
GET /api/v1/renewalquote/{policynumber}/driver/{drivernumber}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/renewalquote/<policynumber>/driver/<drivernumber>' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": null,
"policyNumber": "TMAOR000001138",
"driverNumber": 1,
"firstName": "ABC",
"middleInitial": null,
"lastName": "QUOTE",
"suffix": null,
"gender": "F",
"dob": "1980-01-01",
"age": 38,
"licenseNum": "123456789",
"licenseState": "GA",
"licenseDate": "1996-01-01",
"relation": "INSURED",
"totalPoints": 0,
"violationCount": 0,
"isIncludeAtRenewal": false,
"isMarried": false,
"isExcluded": false,
"flags": [
{
"name": "Sr22",
"description": null,
"hasFlag": false,
"attributes": {
"date": "",
"caseNumber": null,
"state": "AK"
}
}
],
"violations": []
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - No driver found
{
"exception": "bad request",
"message": [
"Driver <drivernumber> on Quote <policynumber> not found"
]
}
This endpoints pulls the full details of the driver on a per driver basis. Note on this endpoint, all fields on driver should not be null however if the driver is in status of REVIEW, LIST or EXCLUDED, all of the properties may not be populated, those values are marked as "maybe" in nullable column.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| driverNumber | integer |
true | The Driver number of the driver to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target quote |
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
false | First name |
| middleInitial | string |
false | Middle initial |
| lastName | string |
false | Last name |
| status | string |
true | Driver status, see driverStatusOptions for more information |
| suffix | string |
true | Suffix, ex: JR, SR, III |
| gender | string |
maybe | Gender of the driver, options are M or F |
| dob | dateTime |
maybe | Date of birth, mm/dd/yyyy |
| age | integer |
maybe | Age of driver |
| licenseNum | string |
maybe | License number |
| licenseState | string |
maybe | State license was issued in |
| licenseDate | dateTime |
maybe | Date driver became licensed |
| relation | string |
maybe | Relation to Insured, see relationToInsuredOptions for more information |
| totalPoints | integer |
false | The total number of points assigned to the driver based on any associated violations. |
| violationCount | integer |
false | Total number of violations tied to the driver |
| isIncludeAtRenewal | boolean? |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| isMarried | boolean? |
true | Indicates if the driver is married or single |
| isExcluded | boolean? |
true | Indicates if the driver is excluded |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| violations | List<violationObject> |
false | Any violations attached to the driver. See violationObject for more information |
Vehicle by VIN
GET
GET /api/v1/renewalquote/{policynumber}/vehicle/{vin}
Example call
curl --location --request GET 'https://<your provided hostname>/api/v1/renewalquote/<policynumber>/vehicle/<vin>' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": null,
"policyNumber": "TMAOR000001138",
"carNumber": 1,
"vin": "SALCR2BG5HH714060",
"make": "LAND ROVER",
"model": "DISCOVERY SPORT HSE",
"bodyStyle": "null",
"costNew": 0.0,
"amountCustom": 0.0,
"annualMileage": 0.0,
"isIncludeAtRenewal": false,
"symbols": [
{
"symbol": "Make",
"value": "LR"
},
{
"symbol": "Model",
"value": "DC"
},
{
"symbol": "Style",
"value": "5L"
}
],
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "50000/100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "50000/100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "50000/100000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 237.11,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 175.15,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 132.18,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 35.99,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 39.11,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 39.11,
"isUnusedCoverage": true
}
],
"flags": [
{
"name": "BusinessUse",
"description": null,
"hasFlag": false,
"attributes": null
}
],
"lienHolders": [],
"methodOfContact": null,
"emailAddress": null,
"mobilePhoneNumber": null,
"ownershipType": null
}
Response - 400 - Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - Vehicle not found
{
"exception": "bad request",
"message": [
"Vehicle <vehiclenumber> on Quote <policynumber> not found"
]
}
This endpoints pulls the full details of the vehicle on a per vehicle basis.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNumber | string |
true | Assigned policy number |
| vin | string |
true | The VIN of the vehicle to pull the full profile of |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy number |
| carNumber | string |
false | Assigned car number |
| vin | string |
false | Vehicle Identification Number |
| make | string |
false | Vehicle make |
| model | string |
false | Vehicle model |
| bodyStyle | string |
true | Vehicle body style |
| costNew | double |
false | New vehicle cost |
| amountCustom | double |
false | Amount of custom items |
| annualMileage | double |
false | Yearly miles driven |
| isIncludeAtRenewal | boolean |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| symbols | Dictionary<string, string> |
false | Vehicle symbols and values (i.e. Make:BU, Model:RG, Style:44) |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
| flags | List<flagObject> |
false | Any applicable flags currently on the driver, includes discounts. See flagObject for more information |
| lienHolders | lienholderObject |
false | A lien holder object |
| methodOfContact | string |
true | Preferred method of contact (i.e. SMS, EMAIL) |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| mobilePhoneNumber | string |
true | Insured mobile phone number |
| ownershipType | string |
true | See ownershipTypeOptions for more information |
Coverages
GET
GET /api/v1/renewalquote/{policynumber}/coverages
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/renewalquote/<policynumber>/coverages' \
--header 'pace-api-key: <your api key here>'
Response 200
{
"customerGuid": null,
"policyNumber": "TMAOR000001138-1",
"hasPriorCoverage": false,
"hasPriorBalance": false,
"previousCarrier": null,
"previousExpirationDate": "2019-05-29T00:01:00",
"priorMonthsInsured": null,
"priorBiLimit": "No BI Coverage",
"coverageLimits": [
{
"type": "POLICY",
"indexNumber": 0,
"name": "BI",
"description": "Bodily Injury",
"limit": "50000/100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PD",
"description": "Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "PIP",
"description": "Personal Injury Protection",
"limit": "15000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMPD",
"description": "Uninsured Motorist Property Damage",
"limit": "50000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI",
"description": "UM/UIMBI",
"limit": "50000/100000",
"isUnusedCoverage": false
},
{
"type": "POLICY",
"indexNumber": 0,
"name": "UMUIMBI2",
"description": "UM/UIMBI",
"limit": "50000/100000",
"isUnusedCoverage": true
}
],
"writtenByCoverage": [
{
"carNumber": 1,
"name": "ACQUEXP",
"written": 77.88,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "BI",
"written": 237.11,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PD",
"written": 175.15,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "PIP",
"written": 132.18,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMPD",
"written": 35.99,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI",
"written": 39.11,
"isUnusedCoverage": false
},
{
"carNumber": 1,
"name": "UMUIMBI2",
"written": 39.11,
"isUnusedCoverage": true
}
]
}
Response - 400 - Renewal Quote not found
{
"exception": "bad request",
"message": [
"Quote <policynumber> not found"
]
}
Response - 400 - No vehicles found
{
"exception": "bad request",
"message": [
"No vehicles found on Quote <policynumber>"
]
}
This endpoint returns coverage information related to a renewal quote
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Assigned policy record number |
| hasPriorCoverage | boolean? |
true | Indicates if prior coverage has been selected |
| hasPriorBalance | boolean |
false | Indicates if there is a balance from a prior term |
| previousCarrier | string |
true | If prior coverage is selected, the previous carrier the insured was with |
| previousExpirationDate | dateTime? |
true | If prior coverage is selected, the previous terms expiration date. |
| priorMonthsInsured | int? |
true | If prior coverage is selected, the number of months the insured had coverage |
| priorBiLimit | string |
false | If prior coverage is selected, the BI limit selected on prior policy |
| coverageLimits | coverageLimitObject |
false | A coverage limit object |
| writtenByCoverage | writtenByCoverageObject |
false | A written by coverage object |
Due Installments
GET
GET /api/v1/renewalquote/{policynumber}/billing/installments
Example call
curl --location --request GET 'http://<<your provided hostname>>/api/v1/renewalquote/<policynumber>/billing/installments' \
--header 'pace-api-key: <your api key here>'
Response 200
[
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "RENEWAL00001247",
"installmentNumber": 0.0,
"dueDate": "2022-06-14",
"isOnHold": false,
"totalDue": 111.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Convenience Fee",
"amount": 3.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "RENEWAL00001247",
"installmentNumber": 1.0,
"dueDate": "2022-07-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "RENEWAL00001247",
"installmentNumber": 2.0,
"dueDate": "2022-08-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "RENEWAL00001247",
"installmentNumber": 3.0,
"dueDate": "2022-09-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "RENEWAL00001247",
"installmentNumber": 4.0,
"dueDate": "2022-10-14",
"isOnHold": false,
"totalDue": 113.85,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.85
}
]
},
{
"customerGuid": "99b0d908-a557-40af-8b5f-660456735824",
"policyNumber": "RENEWAL00001247",
"installmentNumber": 5.0,
"dueDate": "2022-11-14",
"isOnHold": false,
"totalDue": 134.63,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 124.63
}
]
}
]
Response - 400 - No Renewal Found
{
"exception": "bad request",
"message": [
"Renewal Quote <policynumber> not found"
]
}
Response - 400 - No Due Installments Found
{
"exception": "bad request",
"message": [
"No due installments remain for policy <policynumber>"
]
}
Returns an array of Installment objects for the passed in Renewal Number assuming found Renewal has Due Installments.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number |
| isDecrypt | boolean |
false | Optional field (defaults to false) for decrypting an encrypted policy number |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| installments | List<installmentObject> |
false | A collection of installment objects |
Post Payment
POST
POST /api/v1/renewalquote/payment/post
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/renewalquote/payment/post' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"guid": "ae7a6c20-XXXX-XXXX-XXXX-f474037b6a1f",
"policyNumber": "RENEWAL1233409-01",
"username": "testname",
"postMarkDate": "2025-03-30 04:27:57",
"paymentType": "CC",
"totalPaidAmt": 145.52,
"transactionId": "ch_xxxxxxxxxxxxxxxxx",
"responseDescription": "",
"breakDown":{
"name":"Test Test",
"amount": 145.52
}
}'
Response 200
{
"payment": {
"id": 5003,
"guid": "ae7a6c20-XXXX-XXXX-XXXX-f474037b6a1f"
}
}
Response 400 Payment amount is not greater than 0
{
"exception": "bad request",
"message": [
"Payment must be greater than 0 dollars"
]
}
Response 400 No transaction id in request
{
"exception": "bad request",
"message": [
"Transaction Id was not provided"
]
}
Response 400 No payment type in request
{
"exception": "bad request",
"message": [
"Payment Type was not provided"
]
}
Response 400 No username in request
{
"exception": "bad request",
"message": [
"Username was not provided"
]
}
Response 400 No renewal quote number in request
{
"exception": "bad request",
"message": [
"Policy Number was not provided"
]
}
Response 400 No Payment Guid in request
{
"exception": "bad request",
"message": [
"Guid for payment tracking was not provided"
]
}
Response 400 No renewal quote found
{
"exception": "bad request",
"message": [
"Renewal quote for {policynumber} was not found"
]
}
Response 400 No installments found
{
"exception": "bad request",
"message": [
"No installments found for renewal quote {policynumber}"
]
}
For the policy and policy payment ID passed in, the corresponding payment is posted.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string |
true | Guid for the specific payment in question for the policy |
| policyNumber | string |
true | Policy number assigned to target policy |
| username | string |
true | Username of the one resquesting the post |
| postMarkDate | string |
true | The date which the post should be post marked |
| paymentType | string |
true | Says whether the payment is a credit card (CC) or an EFT |
| totalPaidAmt | double |
true | The total amount the post is going to be |
| transactionId | string |
true | The id specific to this transaction |
| responseDescription | string |
false | |
| breakDown | List<installmentBreakDownObject> |
true | List of installment Break Down Objects |
Response Parameters
Returns an array of documents objects
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| Id | int |
false | Id of the Policy Payment recorded |
| Guid | string |
false | The passed in Guid |
Mileage Management
Mark Mileage Action As On Hold
POST
POST /api/v1/policy/mileagemanagement/admin/markas/hold
curl --location --request GET 'http://<<your provided hostname>>/api/v1/policy/mileagemanagement/admin/markas/hold' \
--header 'pace-api-key: <your api key here>'
--header 'Content-Type: application/json' \
--data-raw '{
"policyNum": "MAA00001",
"IsOnHold": true
}'
Response 200
{
"msg": "Mileage action and next due installment marked as on hold"
}
Response - 400 - Error occured processing request
{
"exception": "bad request",
"message": [
"Error message"
]
}
This endpoints returns a small subset of binder data to determine whether or not any binders exist with the provided email address. This endpoint is useful to check whether or not a potential insured has or has not quoted with the company previously and how many quotes they have tried.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyNum | string |
true | Assigned policy record number |
| isOnHold | bool |
true | Defines whether you want to mark the next due installment and mileage action as on hold |
Response Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| msg | string |
true | Response message detailing what the result of the API call is. Will indicate if both installment and mileage action marked as on hold, only mileage action and not installment, only installment and not mileage action or whether there was nothing to mark as on hold as nothing was available. |
Policy Actions
Flat Cancel
POST
POST
Insured Request Cancellation
POST
POST
Quote a Cancellation
POST
POST
Reinstate
POST
POST
Batch Rater
Save Quote
POST
POST
Create Batch
POST
POST
Real Time Raters
Answer Financial
POST
POST
Bindable
POST
POST
EzLynx
POST
POST
IBQ
POST
POST
ITC
POST
POST
Lead Cloud
POST
POST
Rate Force
POST
POST
Velox
POST
POST
Billing
Recalculate Installments
POST
POST /api/v1/billing/installments/recalculate
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/billing/installments/recalculate' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"policyNumber": "POLICY1233409-00",
}'
Response 200
[
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 1.0,
"dueDate": "2022-07-16",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 2.0,
"dueDate": "2022-08-16",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 3.0,
"dueDate": "2022-09-16",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 4.0,
"dueDate": "2022-10-16",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 5.0,
"dueDate": "2022-11-16",
"isOnHold": false,
"totalDue": 113.18,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.18
}
]
}
]
Returns an array of recalculated Installment objects for the passed in policy number.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number that the installments will be recalculated |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| installments | List<installmentObject> |
false | A collection of installment objects |
Batch Recalculate Installments
POST
POST /api/v1/billing/installments/recalculate/batch
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/billing/installments/recalculate/batch' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{"policyNumber": "POLICY1233409-00"},
{"policyNumber": "POLICY1234567-89"}'
Response 200
{
"policy1233409-00": "Installments recalculated successfully, pull updated info from /policy/<policynumber>/billing/installments",
"policy1234567-89": "Installments recalculated, no installments remain"
}
Returns a list of all passed in policy numbers and whether or not they had their installments recalculated (based on if there were any installments left)
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number that the installments will be recalculated |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|
Reset Due Dates
POST
POST /api/v1/billing/installments/duedate/reset
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/billing/installments/recalculate' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '{
"policyNumber": "POLICY1233409-00",
"dueDate": "2022-12-15"
}'
Response 200
[
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 1.0,
"dueDate": "2022-12-15",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 2.0,
"dueDate": "2023-01-15",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 3.0,
"dueDate": "2023-01-15",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 4.0,
"dueDate": "2023-01-15",
"isOnHold": false,
"totalDue": 113.17,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.17
}
]
},
{
"policyNumber": "POLICY1233409-00",
"installmentNumber": 5.0,
"dueDate": "2023-01-15",
"isOnHold": false,
"totalDue": 113.18,
"isPaid": false,
"totalPremium": null,
"totalFees": null,
"fees": [
{
"feeType": "Mileage Monitoring Fee",
"amount": 5.0
},
{
"feeType": "Policy Fee",
"amount": 5.0
},
{
"feeType": "Premium",
"amount": 103.18
}
]
}
]
For the given policy and due date, the remaining policy's installments are reset with the next installment's due date starting with the due date passed in. The following installments, if any, will be set in accordance to spec.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number that the installments will be recalculated |
| dueDate | string |
true | The due date which to reset the installments |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| installments | List<installmentObject> |
false | A collection of installment objects |
Spread Installment
POST
POST /api/v1/billing/installments/spread
Example call
curl --location --request POST 'https://<your provided hostname>/api/v1/billing/installments/spread' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw '
{
"policyNumber":"POLICY140002522-00",
"installNumber": 1.0
},
{
"policyNumber":"POLICY141000238-00",
"installNumber": 2.0
}'
Response 200
{
"policy140002522-00": "Install# 1 on Policy POLICY140002522-00 has already been paid or marked as paid, nothing to spread",
"policy141000238-00": "Installment 2 on POLICY141000238-00 spread succesfully"
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| policynumber | string |
true | Assigned policy record number that the installment that will be spread |
| installNumber | double |
true | The installment that is to be spread |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|
Underwriting Administration
Manage Vins - Add Vin
POST
POST /api/v1/underwriting/administration/vin/manage/add
Example call
Response 200
{
}
CV ALIR Upload
POST
POST /api/v1/underwriting/administration/cvalir/upload
Example call to upload CV ALIR file for specific states
curl --location
--request POST 'https://<your provided hostname>/api/v1/underwriting/administration/cvalir/upload' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"startDate":"2/17/2021",
"endDate": "3/30/2021",
"states": [
"AZ", "NC", "TX
]
}'
Response 200
Empty body
Example call to upload CV ALIR file for all states currently writing business in
curl --location
--request POST 'https://<your provided hostname>/api/v1/underwriting/administration/cvalir/upload' \
--header 'pace-api-key: <your api key here>' \
--header 'Content-Type: application/json' \
--data-raw '{
"startDate":"2/17/2021",
"endDate": "3/30/2021"
}'
Response 200
Empty body
This endpoint uploads the CV ALIR file base on dates and states provided. This allows you to trigger an upload for a prior date range.
Request Parameters
| Parameter | Type | Format | Required | Description |
|---|---|---|---|---|
| startDate | dateTime |
mm/dd/yyyy | true | The first date in which to pull policy transactions for upload |
| endDate | dateTime |
mm/dd/yyyy | true | The last date in which to pull policy transactions for upload |
| states | array<string> |
false | An Array of states in 2 letter abbreviations to pull transactions for. If no states are provided, upload will trigger for all states currently writing business in |
Response
Empty Body
First Reports
Serialize First Report
GET
GET /api/v1/firstreport/serialize/<claimnumber>
Example call to serialize a first report
curl --location --request GET 'http://<your provided hostname>/api/v1/firstreport/serialize/\<claimnumber\>' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"claim": {
"claimNumber": "CTFXX1XXXXXXXX-00-1",
"alternateClaimNumber": null,
"policyNumber": "TFXX1XXXXXXXX-00",
"dateOfLoss": "2023-04-14T13:50:00",
"dateReported": "2023-04-14T05:19:00",
"dateEntered": "2023-04-14T17:19:07.587",
"lossDescription": null,
"priorDamageDescription": null,
"lossLocation": null,
"lossAddress": null,
"lossCity": "ACWORTH",
"lossState": "GA",
"lossZip": null,
"insuredFullName": "TES TEST",
"insuredGarage1Address": "123 TEST",
"insuredGaragingCity": "ACWORTH",
"insuredGaragingState": "GA",
"insuredGaragingZip": "30101",
"insuredGaragingCounty": "COBB",
"insuredHomePhoneNumber": "(777) 777-7777",
"insuredMobilePhoneNumber": "(777) 777-7777",
"insuredWorkPhoneNumber": null,
"insuredEmailAddress": "TEST@TEST.COM",
"carNumber": 1,
"vin": "1XXXXXXXXXXXXXX59",
"vehicleYear": 2018,
"vehicleMake": "Ford",
"vehicleModel": "F-150",
"vehicleStyle": "4x4 XLT 4dr SuperCrew 5.5 ft. SB",
"driverNumber": 1,
"driverFirstName": null,
"driverLastName": null,
"driverAge": 0,
"driverGender": null,
"driverRelationToInsured": null,
"driverPhoneNumber": null,
"driverEmailAddr": null,
"driverAddress": null,
"driverCity": null,
"driverState": null,
"driverZip": null,
"reportedBy": "TEST",
"reportedByRelationship": "CLAIMANT",
"reportedByPhoneExtension": null,
"policeReportNumber": null,
"policeReportAgency": null,
"isMisrep": false,
"isSiu": false,
"isCoverageInvestigation": false,
"reviewedBy": null,
"isManagerReviewed": false
},
"claimants": [
{
"claimNumber": null,
"claimantNumber": 0,
"policyNumber": null,
"peril": null,
"dateOfLoss": "0001-01-01T00:00:00",
"dateReported": "0001-01-01T00:00:00",
"supervisor": null,
"adjuster": null,
"compExtension": null,
"status": null,
"statusDate": "0001-01-01T00:00:00",
"reserveAmount": 0.0,
"allocatedLossAdjustmentExprense": 0.0,
"unallocatedLossAdjustmentExpense": 0.0,
"ratingState": null,
"firstName": null,
"lastName": null,
"middle": null,
"fullName": null,
"gender": null,
"dateOfBirth": null,
"businessName": null,
"claimantAddress": null,
"claimantCity": null,
"claimantState": null,
"claimantZip": null,
"claimantCounty": null,
"claimantHomePhoneNumber": null,
"claimantWorkPhoneNumber": null,
"claimantMobilePhoneNumber": null,
"claimantEmailAddress": null,
"isDriveable": false,
"isTotalLoss": false,
"isInsured": false,
"isCoverageInvestigation": false,
"isSubroClaim": false,
"isSuitDemandReceived": false,
"isPreSuit": false,
"isInSuit": false,
"isEmcOnFile": false,
"isTheftRecovery": false,
"isOwnerReturnedSalvage": false,
"isClaimantBusiness": false,
"claimantType": null,
"percentAtFault": null,
"abbreviatedNotes": null,
"isAttorneyRepd": false,
"isDeceased": false,
"isReopened": false,
"isHide": false,
"isSubrogateToCarrier": false,
"propertyDamage": null
}
]
}
This endpoint serializes a first report that has been issued, regardless of status, to a json object.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| claimnumber | string |
true | First Report number from a save first report that you wish to serialize to a json object |
Response
First Report Serialization Response Object
| Parameter | Type | Editable? | Description |
|---|---|---|---|
| claim | claimObject |
true | Detailed information pertaining to the first report See claimObject for more details |
| claimants | list<claimantsObject> |
true | List of claimaints objects - Detailed information pertaining to the claimants of the serialized first report See claimantsObject for more details |
Claims
Serialize Claim
GET
GET /api/v1/claims/serialize/<claimnumber>
Example call to serialize a claim
curl --location --request GET 'http://<your provided hostname>/api/v1/claims/serialize/\<claimnumber\>' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"claim": {
"claimNumber": "CTFXX1XXXXXXXX-00-1",
"alternateClaimNumber": null,
"policyNumber": "TFXX1XXXXXXXX-00",
"dateOfLoss": "2023-04-14T13:50:00",
"dateReported": "2023-04-14T05:19:00",
"dateEntered": "2023-04-14T17:19:07.587",
"lossDescription": null,
"priorDamageDescription": null,
"lossLocation": null,
"lossAddress": null,
"lossCity": "ACWORTH",
"lossState": "GA",
"lossZip": null,
"insuredFullName": "TES TEST",
"insuredGarage1Address": "123 TEST",
"insuredGaragingCity": "ACWORTH",
"insuredGaragingState": "GA",
"insuredGaragingZip": "30101",
"insuredGaragingCounty": "COBB",
"insuredHomePhoneNumber": "(777) 777-7777",
"insuredMobilePhoneNumber": "(777) 777-7777",
"insuredWorkPhoneNumber": null,
"insuredEmailAddress": "TEST@TEST.COM",
"carNumber": 1,
"vin": "1XXXXXXXXXXXXXX59",
"vehicleYear": 2018,
"vehicleMake": "Ford",
"vehicleModel": "F-150",
"vehicleStyle": "4x4 XLT 4dr SuperCrew 5.5 ft. SB",
"driverNumber": 1,
"driverFirstName": null,
"driverLastName": null,
"driverAge": 0,
"driverGender": null,
"driverRelationToInsured": null,
"driverPhoneNumber": null,
"driverEmailAddr": null,
"driverAddress": null,
"driverCity": null,
"driverState": null,
"driverZip": null,
"reportedBy": "TEST",
"reportedByRelationship": "CLAIMANT",
"reportedByPhoneExtension": null,
"policeReportNumber": null,
"policeReportAgency": null,
"isMisrep": false,
"isSiu": false,
"isCoverageInvestigation": false,
"reviewedBy": null,
"isManagerReviewed": false
},
"claimants": [
{
"claimNumber": null,
"claimantNumber": 0,
"policyNumber": null,
"peril": null,
"dateOfLoss": "0001-01-01T00:00:00",
"dateReported": "0001-01-01T00:00:00",
"supervisor": null,
"adjuster": null,
"compExtension": null,
"status": null,
"statusDate": "0001-01-01T00:00:00",
"reserveAmount": 0.0,
"allocatedLossAdjustmentExprense": 0.0,
"unallocatedLossAdjustmentExpense": 0.0,
"ratingState": null,
"firstName": null,
"lastName": null,
"middle": null,
"fullName": null,
"gender": null,
"dateOfBirth": null,
"businessName": null,
"claimantAddress": null,
"claimantCity": null,
"claimantState": null,
"claimantZip": null,
"claimantCounty": null,
"claimantHomePhoneNumber": null,
"claimantWorkPhoneNumber": null,
"claimantMobilePhoneNumber": null,
"claimantEmailAddress": null,
"isDriveable": false,
"isTotalLoss": false,
"isInsured": false,
"isCoverageInvestigation": false,
"isSubroClaim": false,
"isSuitDemandReceived": false,
"isPreSuit": false,
"isInSuit": false,
"isEmcOnFile": false,
"isTheftRecovery": false,
"isOwnerReturnedSalvage": false,
"isClaimantBusiness": false,
"claimantType": null,
"percentAtFault": null,
"abbreviatedNotes": null,
"isAttorneyRepd": false,
"isDeceased": false,
"isReopened": false,
"isHide": false,
"isSubrogateToCarrier": false,
"propertyDamage": null
}
]
}
This endpoint serializes a claim that has been issued, regardless of status, to a json object.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| claimnumber | string |
true | Claim number from an issued claim that you wish to serialize to a json object |
Response
Claim Serialization Response Object
| Parameter | Type | Editable? | Description |
|---|---|---|---|
| claim | claimObject |
true | Detailed information pertaining to the claim See claimObject for more details |
| claimants | list<claimantsObject> |
true | List of claimaints objects - Detailed information pertaining to the claimants of the serialized claim See claimantsObject for more details |
Integrations
James River Claims Check Callback
POST
POST
Lookups
Get Vehicle Years
GET
GET /api/v1/underwriting/lookups/vin/{state}/years
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/vin/<state>/years' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
1981,
1982,
1983,
1984,
1985,
1986,
1987
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"No rate cycle found for state <State>"
]
}
This endpoint returns a list of vehicle years associated with a state.
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<int?> |
false | List of vehicle years |
Get Vehicle Makes by Year
GET
GET /api/v1/underwriting/lookups/vin/{state}/year/{year}/makes
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/vin/<state>/year/<year>/makes' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
"Alfa Romeo",
"AMC",
"Audi",
"BMW",
"Buick",
"Cadillac",
"Chevrolet",
"Chrysler"
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"No rate cycle found for state <State>"
]
}
This endpoint returns a list of vehicle makes associated with a state and a year.
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| year | integer |
true | The vehicle year searching for |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<string> |
false | List of vehicle makes |
Get Vehicle Models by Year/Make
GET
GET /api/v1/underwriting/lookups/vin/{state}/year/{year}/make/{make}/models
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/vin/<state>/year/<year>/make/<make>/models' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
"Grand Cherokee",
"Liberty",
"Wrangler"
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"No rate cycle found for state <State>"
]
}
This endpoint returns a list of vehicle models associated with a state, year, and make.
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| year | integer |
true | The vehicle year searching for |
| make | string |
true | The vehicle make searching for |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<string> |
false | List of vehicle models |
Get Vehicle Body Styles by Year/Make/Model
GET
GET /api/v1/underwriting/lookups/vin/{state}/year/{year}/make/{make}/model/{model}/bodystyles
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/vin/<state>/year/<year>/make/<make>/model/<model>/bodystyles' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
"4-cylinder | 2WD | Ext. Cab",
"4-cylinder | 2WD | Reg. Cab",
"4-cylinder | 4WD | Ext. Cab",
"4-cylinder | 4WD | Reg. Cab",
"6-cylinder | 2WD | Ext. Cab",
"6-cylinder | 4WD | Ext. Cab"
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"No rate cycle found for state <State>"
]
}
This endpoint returns a list of vehicle body styles associated with a state, year, make, and model.
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| year | integer |
true | The vehicle year searching for |
| make | string |
true | The vehicle make searching for |
| model | string |
true | The vehicle model searching for |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<string> |
false | List of vehicle body styles |
Get VIN by Year/Make/Model/Body
GET
GET /api/v1/underwriting/lookups/vin/{state}/year/{year}/make/{make}/model/{model}/bodystyle/{bodystyle}/vins
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/vin/<state>/year/<year>/make/<make>/model/<model>/bodystyle/<bodystyle>/vins' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
{
"vin": "5TEGM92N&4",
"year": 2004,
"make": "Toyota",
"model": "Tacoma",
"bodyStyle": "4-cylinder | 2WD | Ext. Cab",
"isUnacceptable": false
},
{
"vin": "5TESM92N&4",
"year": 2004,
"make": "Toyota",
"model": "Tacoma",
"bodyStyle": "4-cylinder | 2WD | Ext. Cab",
"isUnacceptable": false
},
{
"vin": "5TEVL52N&4",
"year": 2004,
"make": "Toyota",
"model": "Tacoma",
"bodyStyle": "4-cylinder | 2WD | Ext. Cab",
"isUnacceptable": false
}
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"No rate cycle found for state <State>"
]
}
This endpoint returns a list of vehicle vins (and other info) associated with a state, year, make, model, and body style.
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| year | integer |
true | The vehicle year searching for |
| make | string |
true | The vehicle make searching for |
| model | string |
true | The vehicle model searching for |
| bodystyle | string |
true | The vehicle body style searching for |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<vinLookupObject> |
false | List of vin lookup objects |
Get Vehicle Info by VIN
GET
GET /api/v1/underwriting/lookups/vin/{state}/{mgaName}/vehicle/{vin}
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/vin/<state>/<mgaName>/vehicle/<vin>' \
--header 'pace-api-key: <your api key here>'
Response - 200
{
"vin": "SQUISHVIN",
"year": 2018,
"make": "Ford",
"model": "F-150",
"bodyStyle": "8-cylinder | 4WD | Ext. Cab",
"isUnacceptable": false
}
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"No rate cycle found for state <State>"
]
}
Response - 400 - Vin cannot be null
{
"exception": "bad request",
"message": [
"Vin is required"
]
}
Response - 400 - Vin is improper length
{
"exception": "bad request",
"message": [
"Minimum VIN length is 10 characters"
]
}
Response - 400 - Cannot parse vin
{
"exception": "bad request",
"message": [
"Unable to decode vin <VIN>"
]
}
Response - 404 - Vehicle Symbols cannot be located
{
"exception": "not found",
"message": [
"Unable to find Vehicle Symbols for Vin <Vin>"
]
}
Response - 404 - Vehicle Symbol Factors cannot be located
{
"exception": "not found",
"message": [
"Unable to find Symbols Factors for Vin <Vin>"
]
}
This endpoint returns details of the vehicle being searched for by vin. The vin that gets returned is the squish vin.
If the vin cannot be parsed into a squish vin and the associated details not found, a Bad Request code is thrown.
If the vin's associated vehicle symbols or symbols factors are not found, a Not Found code is thrown.
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| mgaName | string |
true | The all-capitalized Rating Name |
| vin | string |
true | VIN of vehicle to search for |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| object | vinLookupObject |
false | vin lookup object |
Get Coverages by State
GET
GET /api/v1/underwriting/lookups/coverages/{state}
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/coverages/<state>' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "15000/30000",
"emptyLimitValue": "NONE",
"displayLimit": "15,000/30,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "25000/50000",
"emptyLimitValue": "NONE",
"displayLimit": "25,000/50,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "50000/100000",
"emptyLimitValue": "NONE",
"displayLimit": "50,000/100,000"
}
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"Unable to locate rate cycle with state <state> and date <date>"
]
}
This endpoint returns a list of policy coverages associated with state
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<ratingCoverageObject> |
false | List of rating coverage objects |
Get Coverages by State and Effective Date
GET
GET /api/v1/underwriting/lookups/coverages/{state}/date/{effectiveDate}
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/coverages/<state>/date/<effectiveDate>' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "15000/30000",
"emptyLimitValue": "NONE",
"displayLimit": "15,000/30,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "25000/50000",
"emptyLimitValue": "NONE",
"displayLimit": "25,000/50,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "50000/100000",
"emptyLimitValue": "NONE",
"displayLimit": "50,000/100,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "100000/300000",
"emptyLimitValue": "NONE",
"displayLimit": "100,000/300,000"
}
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"Unable to locate rate cycle with state <state> and date <date>"
]
}
This endpoint returns a list of policy coverages associated with state and effective date
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| effectiveDate | dateTime |
true | The policy effective date i.e. 02-01-2022 |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<ratingCoverageObject> |
false | List of rating coverage objects |
Get Coverages by State/Effective Date and Carrier Id
GET
GET /api/v1/underwriting/lookups/coverages/{state}/date/{effectiveDate}/carrier/{carrierId}
curl --location --request GET 'http://<<your provided hostname>>/api/v1/underwriting/lookups/coverages/<state>/date/<effectiveDate>/carrier/<carrierId>' \
--header 'pace-api-key: <your api key here>'
Response - 200
[
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "15000/30000",
"emptyLimitValue": "NONE",
"displayLimit": "15,000/30,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "25000/50000",
"emptyLimitValue": "NONE",
"displayLimit": "25,000/50,000"
},
{
"coverage": "BI",
"coverageDescription": "Bodily Injury",
"limitValue": "50000/100000",
"emptyLimitValue": "NONE",
"displayLimit": "50,000/100,000"
}
]
Response - 400 - Cannot find ratecycle
{
"exception": "bad request",
"message": [
"Unable to locate rate cycle with state <state> and date <date>"
]
}
This endpoint returns a list of policy coverages associated with state, effective date, and carrier Id
Request Parameters
| Parameters | Type | Required? | Description |
|---|---|---|---|
| state | string |
true | The two letter initial for the state |
| effectiveDate | dateTime |
true | The policy effective date i.e. 02-01-2022 |
| carrierId | string |
true | The carrier Id i.e. 6192AD97-80ED-49D8-A7F1-BE5862AF8C09 |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| list | IEnumerable<ratingCoverageObject> |
false | List of rating coverage objects |
Search
Search for vehicles by VIN
GET
GET /api/v1/search/underwriting/vin/{vin}
curl --location --request GET 'http://<your provided hostname>/api/v1/search/underwriting/vin/<vin>' \
--header 'Content-Type: application/json' \
--header 'pace-api-key: <your api key here>' \
--data-raw ''
Response 200
{
"quotes": [
{
"policynum": "QMPGA00001",
"vin": "1FACP000000000123",
"effectiveDate": 2021-6-1,
"expirationDate": 2021-12-1,
"status": "QUOTE"
},
{
"policynum": "QMPGA00002",
"vin": "1FACP000000000123",
"effectiveDate": 2021-7-1,
"expirationDate": 2022-1-1,
"status": "QUOTE"
},
{
"policynum": "QMPGA00003",
"vin": "1FACP000000000123",
"effectiveDate": 2021-8-1,
"expirationDate": 2022-2-1,
"status": "QUOTE"
},
{
"policynum": "QMPGA00004",
"vin": "1FACP000000000123",
"effectiveDate": 2021-9-1,
"expirationDate": 2022-3-1,
"status": "QUOTE"
},
{
"policynum": "QMPGA00005",
"vin": "1FACP000000000123",
"effectiveDate": 2021-10-1,
"expirationDate": 2022-4-1,
"status": "QUOTE"
}
],
"binders": [
{
"policynum": "BMPGA00002",
"vin": "1FACP000000000123",
"effectiveDate": 2021-10-1,
"expirationDate": 2022-4-1,
"status": "ISSUED"
},
{
"policynum": "BMPGA00002",
"vin": "1FACP000000000123",
"effectiveDate": 2021-9-1,
"expirationDate": 2022-3-1,
"status": "EXPIRED"
}
],
"policies": [
{
"policynum": "MPGA00001",
"vin": "1FACP000000000123",
"effectiveDate": 2021-10-1,
"expirationDate": 2022-4-1,
"status": "ACTIVE"
},
{
"policynum": "MPGA00002",
"vin": "1FACP000000000123",
"effectiveDate": 2021-10-1,
"expirationDate": 2022-4-1,
"status": "NOTICE"
}
]
}
No Vins Found
{
"quotes": [],
"binders": [],
"policies": []
}
This endpoints returns details on quotes, binders, policies where the target VIN has appeared regardless of where the record is in its life cycle.
If the VIN is not found on any quote/binder/policy, empty arrays will be returned.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| vin | string |
true | VIN of vehicle to search for |
Response Parameters
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| quotes | array[vinSearchObject] |
false | array of quotes in which the VIN has appeared on. For more details see vinSearchObject |
| binders | array[vinSearchObject] |
false | array of binders in which the VIN has appeared on. For more details see vinSearchObject |
| policies | array[vinSearchObject] |
false | array of policies in which the VIN has appeared on. For more details see vinSearchObject |
Object Definitions
addressesObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| type | string |
false | Address type (i.e. Mailing, Garaging) |
| streetName | string |
false | The street name portion of address |
| city | string |
false | The city of address |
| state | string |
false | The state of address |
| zip | string |
false | The zip code of address |
| county | string |
false | The county of address |
coverageLimitObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| type | string |
false | The level of coverage (i.e. Policy, Vehicle, ...) |
| indexNumber | integer |
false | The vehicle/car identifier (aka carNumber) |
| name | string |
false | The name of coverage |
| description | string |
false | The coverage description |
| limit | string |
false | The limit value |
| isUnusedCoverage | boolean |
false | Denotes whether coverage is unused |
driverObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| driverNumber | integer |
false | Driver number assigned to each driver |
| firstName | string |
true | Driver first name |
| middleInitial | string |
true | Driver middle initial |
| lastName | string |
true | Driver last name |
| suffix | string |
true | Driver suffix (Sr., Jr., ...) |
| gender | string |
true | Driver gender |
| dob | string |
true | Date of birth, mm/dd/yyyy |
| age | string |
true | Age of driver |
| licenseNum | string |
true | License number |
| licenseState | string |
true | State license was issued in |
| licensedDate | string |
true | Date driver became licensed |
| relation | string |
true | Relation to Insured, see relationToInsuredOptions for more information |
| totalPoints | string |
true | The total number of points assigned to the driver based on any associated violations. |
| violationCount | integer |
true | The total number of violations |
| isIncludeAtRenewal | boolean |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| isMarried | boolean |
true | Indicates if the driver is married or single |
| isExcluded | boolean |
true | Indicates if the driver is excluded |
| status | string |
true | Driver status, see driverStatusOptions for more information |
| licenseStatus | string |
true | Indicates license status (EXPIRED, ACTIVE) |
| educationCode | string |
true | Education code |
| listOnlyOption | string |
true | See listOnlyOptions for more information |
| occupationGroup | string |
true | See occupationGroupOptions for more information |
| occupationCode | string |
true | Occupation Code |
| flags | List<flagObject> |
false | A collection of flag objects |
| violations | List<violationObject> |
false | A collection of violation objects |
feeObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| feeType | string |
false | The fee type (i.e. Premium, NSFFee, ConvenFee, ...) |
| amount | double |
false | The fee amount |
flagObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| name | string |
false | Flag name |
| value | string |
true | Flag value |
| description | string |
true | Flag description |
| hasFlag | boolean |
false | Indicates if it has flag |
| attributes | Dictionary<string, string> |
true | Flag attributes (i.e. Date, CaseNumber, State) |
| indexNumber | integer? |
true | Index number |
phoneNumberObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| type | string |
false | Phone number type (i.e. Mobile, Home, Work) |
| number | string |
false | The phone number |
payPlanObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| downPayment | double |
false | Down payment amount |
| installments | integer |
false | Number of installments |
payPlanResponseObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| payPlanId | int |
false | The id of the specificed pay plan |
| payPlanName | string |
false | The name of the pay plan |
| downPaymentPercent | double |
false | The downpayment percentage the pay plan uses |
| installmentCount | int |
false | How many installments are in the payplan |
| installments | List<quoteRateInstallmentObject> |
false | A collection of installments |
policyAttributeObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| name | string |
false | Attribute name |
| value | string |
false | Attribute value |
| level | string |
false | Attribute level (i.e. Policy, Vehicle) |
policyObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the insured at time of quoting that carries through the life cycle of quote / policy issuance. |
| policyNumber | string |
false | Policy number assigned to target Quote |
| emailAddress | string |
true | Insured email address. Depending on rules within your program, this field may or may not be required. |
| effectiveDate | string |
false | Effective date of the Quote |
| expirationDate | string |
false | Expiration date of the Quote |
| status | string |
false | Current status of the Quote. See policyStatusOptions for more information. |
ratingCoverageObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| coverage | string |
false | The name of coverage |
| coverageDescription | string |
false | The coverage description |
| limitValue | string |
false | The limit value |
| emptyLimitValue | string |
false | The empty limit value |
| displayLimit | string |
false | The display limit |
ratingLienholderObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| lienHolderNumber | integer |
false | Lienholder identifier |
| name | string |
true | Lienholder name |
| address | string |
true | Lienholder address (street portion) |
| city | string |
true | Lienholder city |
| state | string |
true | Lienholder state |
| zipCode | string |
true | Lienholder zip code |
| phoneNumber | string |
true | Lienholder phone number |
| faxNumber | string |
true | Lienholder fax number |
| emailAddress | string |
true | Lienholder email address |
| vin | string |
true | Vehicle Identification Number |
ratingVehicleMileageObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| usageType | string |
false | Type of usage (i.e. PLEASURE, COMMUTE) |
| miles | integer? |
true | Miles driven per year |
vehicleObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| carNumber | integer |
false | The vehicle aka car identifier |
| vin | string |
true | Vehicle Identification Number |
| year | integer |
false | Vehicle year |
| make | string |
true | Vehicle make |
| model | string |
true | Vehicle model |
| bodyStyle | string |
true | Vehicle body style |
| costNew | float |
false | New vehicle cost |
| amountCustom | float |
false | Amount of custom items |
| annualMileage | float |
true | Yearly miles driven |
| isIncludeAtRenewal | boolean |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| ownershipType | string |
true | See ownershipTypeOptions for more information |
| statedAmount | integer |
true | Stated amount |
| lengthOfOwnership | string |
true | Length of time vehicle has been owned |
| aebCode | string |
true | Indicates if it has Automatic Emergency Braking |
| blindSpotCode | string |
true | Indicates if it has Blind Spot |
| restraintCode | string |
true | Indicates if it has Restraint |
| Mileage | ratingVehicleMileageObject |
false | A rating vehicle mileage object |
| lienHolders | ratingLienholderObject |
false | A rating lien holder object |
| coverageLimits | List<coverageLimitObject> |
false | A collection of coverage limit objects |
| flags | List<flagObject> |
false | A collection of flag objects |
| ratedOperator | integer |
false | Driver number assigned to vehicle |
vinLookupObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| vin | string |
false | The squish vin of the vehicle that was searched for |
| year | integer |
true | The year of the model of the vehicle searched for |
| make | string |
true | The make of vehicle searched for |
| model | string |
true | The model of the vehicle searched for |
| bodyStyle | string |
true | The body style of the vehicle searched for |
| isUnacceptable | boolean |
true | Whether if the vin's vehicle is acceptable |
vinSearchObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| policyNum | string |
false | Policy number of associated VIN |
| vin | string |
false | VIN |
| effectiveDate | dateTime |
false | Effective date of the quote/binder/policy associated to the searched VIN |
| expirationDate | dateTime |
false | Expiration date of the quote/binder/policy associated to the searched VIN |
| status | string |
false | Status of the quote/binder/policy associated to the searched VIN |
violationObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| policyNumber | string |
false | Policy number associated with violation |
| driverNumber | string |
false | Driver number associated with violation |
| description | string |
false | Description of violation |
| violationDate | string |
false | Date violation occurred |
| points | integer |
false | Points of violation |
| isIncludeAtRenewal | boolean? |
true | Indicates if the driver should be counted as a rated driver right now or held on the quote / policy until the term ends. On the renewal quote the driver, if flagged as true, will count towards the written premium. |
| isChargeable | boolean |
false | Indicates if violation is chargeable |
writtenByCoverageObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| carNumber | integer |
false | The vehicle aka car identifier |
| name | string |
false | The name of coverage |
| written | double |
false | The written amount |
| perMile | object |
true | The per mile amount |
| isUnusedCoverage | boolean |
false | Denotes whether coverage is unused |
paymentHistoryObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
true | Unique Id assigned to the payment |
| paymentId | int |
false | Id associated with the particular transation in the payment history |
| policyNumber | string |
false | Policy number associated with payments |
| username | string |
false | The user that initiated the payment process |
| paymentType | string |
false | Whether the payment is a CC or EFT |
| totalPaid | double |
false | The amount paid for this payment transaction |
| accountingDate | string |
false | The date the process was initiated |
| postmarkDate | string |
false | The date the process finished |
| voidDate | string |
false | The date in which this transaction was voided |
| isVoid | bool |
false | Indicates whether this transaction is void or not |
| isVoidRecord | bool |
false | Indicates whether this transaction is the record of the transaction that has been voided |
| isMovedMoney | bool |
false | Indicates if this transaction was for just moving money |
| transactionId | string |
false | Unique Id assigned to this transaction |
| responseDescription | string |
false | A response |
| payTo | string |
false | The receiver of the transaction |
| paymentBreakDown | List<feeObject> |
false | A collection of fee object |
installmentObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| customerGuid | string |
false | Unique Id assigned to the installment |
| policyNumber | string |
false | Policy number associated with installments |
| installmentNumber | double |
true | The full or partial installment number (1.0, 1.1...) |
| dueDate | string |
false | The date that the installment is due |
| isOnHold | bool |
false | Indicates if the installment is on hold |
| totalDue | double |
false | Indicates the total amount due for this installment |
| isPaid | bool |
true | Indicates if the installment has already been paid |
| totalPremium | double |
true | The premium assocaited with the installment |
| totalFees | double |
true | The total amount to be paid in fees |
| estimatedTotal | double |
true | The estimated total for the installment |
| estimatedMonthly | double |
true | The estimated monthly total for the installment |
| breakDown | List<installmentBreakDown> | A collection of fees |
installmentBreakDownObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| name | string |
false | Name of the line item |
| isFee | bool |
false | Whether line item is a fee |
| amount | double |
false | The amount of the line item |
quoteRateInstallmentObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| installmentNumber | double |
true | The full or partial installment number (1.0, 1.1...) |
| dueDate | string |
false | The date that the installment is due |
| totalPremium | double |
true | The premium assocaited with the installment |
| totalFees | double |
true | The total amount to be paid in fees |
| totalDue | double |
true | Indicates the total amount due for this installment |
| estimatedTotal | double |
true | The estimated total for the installment |
| estimatedMonthly | double |
true | The estimated monthly total for the installment |
| breakDown | List<installmentBreakDown> | false | A collection of fees |
createBinderVehicleObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| carNum | int |
false | The car number from the quote/binder associated with this object |
| vin | string |
false | The vin of the vehicle |
| year | int |
false | The year of the vehicle |
| make | string |
false | The make of the vehicle |
| model | string |
false | The model of the vehicle |
| bodyStyle | string |
false | The body style of the vehicle |
createBinderCoverageLimitObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| type | string |
false | Indicates if this is a VEHICLE or POLICY coverage |
| indexNumber | int |
false | Indicates the carNum if this is a VEHICLE coverage, otherwise 0 |
| name | string |
false | The name of the coverage |
| description | string |
false | A description of the coverage |
| isUnusedCoverage | bool |
false | Indicates if this coverage is unused |
createBinderWrittenCoverageObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| carNumber | int |
false | The car number that this coverage is associated with |
| name | string |
false | The name of the coverage |
| written | double |
false | The written amount of the coverage |
| perMile | object |
true | Indicates per mile amount. If per mile is null, this will not be serialized. |
| isUnusedCoverage | bool |
false | Indicates if this coverage is unused |
createBinderInstallmentObject
| Properties | Type | Nullable? | Description |
|---|---|---|---|
| installmentNumber | double |
false | The installment number (1.0, 1.1, etc) |
| dueDate | string |
false | The date the installment is due |
| totalPremium | double |
false | All premium associated with the installment |
| totalFees | double |
false | All fees associated with the installment |
| totalDue | double |
false | The total amount due for this installment |
| estimatedTotal | double |
false | The estimated total for this installment |
| estimatedMonthly | double |
false | The estimated monthly total for this installment |
printQueueObject
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| queueId | int |
false | The id of document in the print queue |
| customerGuid | string |
false | A unique id that follows the quote thru issuance |
| policyNumber | string |
false | The policy number associated with the document that's status has been requested |
| description | string |
false | The name or description of the document |
| requestedBy | string |
false | The name of the user requesting the document be printed |
| printedBy | string |
false | The name of the system that printed the document |
| errorMessage | string |
false | The message detailing any error for the document |
| isPrinted | bool |
false | Indicates if the document has been printed |
| hasErrors | bool |
false | Indicates if there were any errors with the document |
| isCertifiedMail | bool |
false | Indicates if the mail is certified |
| datePrinted | datetime |
false | The date in which the document was printed |
| processDate | datetime |
false | The date in which the printing will process |
claimObject
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| claimNumber | string |
false | The id of the claim that has been serialized |
| alternateClaimNumber | string |
true | An alternative idenification for the claim |
| policyNumber | string |
false | The policy number the serialized claim is attached to |
| dateOfLoss | datetime |
false | The time and date of loss of the incident on the claim |
| dateReported | datetime |
false | The time and date that the incident was reported |
| dateEntered | datetime |
false | The time and date that the claim was entered |
| lossDescription | string |
true | Description of damage in the incident |
| priorDamageDescription | string |
true | Any damage prior to the loss |
| lossLocation | string |
true | The location in which the incident took place |
| lossAddress | string |
true | The address at which the incident took place |
| lossCity | string |
false | The city in which the incident took place |
| lossState | string |
false | The state in which the incident took place |
| lossZip | string |
true | The zip code in which the incident took place |
| insuredFullName | string |
false | The full name of the policy holder |
| insuredGarage1Address | string |
false | The garaging address of the vehicle of the insured policy holder |
| insuredGaragingCity | string |
false | The garaging city of the vehicle of the insured policy holder |
| insuredGaragingState | string |
false | The garaging state of the vehicle of the insured policy holder |
| insuredGaragingZip | string |
false | The garaging zip code of the vehicle of the insured policy holder |
| insuredGaragingCounty | string |
false | The garaging county of the vehicle of the insured policy holder |
| insuredHomePhoneNumber | string |
true | The home phone number of the insured policy holder |
| insuredMobilePhoneNumber | string |
false | The mobile phone number of the insured policy holder |
| insuredWorkPhoneNumber | string |
true | The work phone number of the insured policy holder |
| insuredEmailAddress | string |
false | The email address of the insured policy holder |
| carNumber | int |
false | The number of the car as listed on the policy |
| vin | string |
false | The vin of the car in the incident |
| vehicleYear | int |
false | The year of the vehicle in the incident |
| vehicleMake | string |
false | The make of the vehicle in the incident |
| vehicleModel | string |
false | The model of the vehicle in the incident |
| vehicleStyle | string |
false | The style of the vehicle in the incident |
| driverNumber | int |
false | The driver number as listed on the policy |
| driverFirstName | string |
true | The first name of the driver |
| driverLastName | string |
true | The last name of the driver |
| driverAge | int |
false | The age of the driver |
| driverGender | string |
true | The gendeer of the driver |
| driverRelationToInsured | string |
true | The relation to the insured (EG. Child, Spouse, Insured) |
| driverPhoneNumber | string |
true | The phone number of the driver |
| driverEmailAddr | string |
true | The email address of the driver |
| driverAddress | string |
true | The address of the driver |
| driverCity | string |
true | The city in which the driver lives |
| driverState | string |
true | The state in which the driver lives |
| driverZip | string |
true | The zip code in which the driver lives |
| reportedBy | string |
false | The person reporting the incident |
| reportedByRelationship | string |
false | The relation of the reporter to the insured |
| reportedByPhoneExtension | string |
true | Any extention of the phone number for the reporter |
| policeReportNumber | string |
true | A police report number if one is filed |
| policeReportAgency | string |
true | The police reporting agency |
| isMisrep | string |
false | |
| isSiu | string |
false | |
| isCoverageInvestigation | string |
false | Is claim under investiation? |
| reviewedBy | string |
true | Claim reviewed by |
| isManagerReviewed | string |
false | Is reviewed by a manager? |
claimantsObject
| Parameter | Type | Nullable? | Description |
|---|---|---|---|
| claimNumber | string |
true | The claim number the claimant is attached to |
| claimantNumber | int |
false | The number of the claimant as listed on the claim |
| policyNumber | string |
true | The policy number the claim is attached to |
| peril | string |
true | The identified peril for this claimant |
| dateOfLoss | datetime |
false | The date of loss in which the incident occured |
| dateReported | datetime |
false | The date in which the incident was reported |
| supervisor | string |
true | The supervisor |
| adjuster | string |
true | The adjuster creating the claimant |
| compExtension | string |
true | |
| status | string |
true | The status of the claimant |
| statusDate | datetime |
false | The date of the current status of the claimant |
| reserveAmount | double |
false | The reserve amount for the claimant |
| allocatedLossAdjustmentExprense | double |
false | The allocated loss adjustment expense for the claimant |
| unallocatedLossAdjustmentExpense | double |
false | The unallocated loss adjustment expense for the claimant |
| ratingState | string |
true | The rating state for the claimant |
| firstName | string |
true | The claimant's first name |
| lastName | string |
true | The claimant's last name |
| middle | string |
true | The claimant's middle initial |
| fullName | string |
true | The full name of the claimant |
| gender | string |
true | The gender of the claimant |
| dateOfBirth | datetime |
true | The date of birth of the claimant |
| businessName | string |
true | If the claimant is a business, the business name associated |
| claimantAddress | string |
true | The address of the claimant |
| claimantCity | string |
true | The city of the claimant |
| claimantState | string |
true | The state of the claimant |
| claimantZip | string |
true | The zip code of the claimant |
| claimantCounty | string |
true | The county of the claimant |
| claimantHomePhoneNumber | string |
true | The home phone number of the claimant |
| claimantWorkPhoneNumber | string |
true | The work phone number of the claimant |
| claimantMobilePhoneNumber | string |
true | The mobile phone number of the claimant |
| claimantEmailAddress | string |
true | The email address of the claimant |
| isDriveable | bool |
false | Is the vehicle driveable? |
| isTotalLoss | bool |
false | Is the vehicle a total loss? |
| isInsured | bool |
false | Is the vehicle insured? |
| isCoverageInvestigation | bool |
false | Is coverage under investigation? |
| isSubroClaim | bool |
false | Is claim a subrogation? |
| isSuitDemandReceived | bool |
false | Is the suit's demands received for this claimant? |
| isPreSuit | bool |
false | Is the claimant in pre-suit? |
| isInSuit | bool |
false | Is the claimant in a suit currently? |
| isEmcOnFile | bool |
false | Is the emc on file? |
| isTheftRecovery | bool |
false | Is recovered from theft? |
| isOwnerReturnedSalvage | bool |
false | |
| isClaimantBusiness | bool |
false | Is the claimant a business? |
| claimantType | string |
true | The type of claimant (eg. Claimant, Insured, Pedestrian, Witness) |
| percentAtFault | double |
false | The percent of the claimant is at fault |
| abbreviatedNotes | string |
true | Any notes |
| isAttorneyRepd | bool |
false | Is the claimant represented by an attorney? |
| isDeceased | bool |
false | Is claimant deceased? |
| isReopened | bool |
false | Is the claimant reopned? |
| isHide | bool |
false | Hide the claimant |
| isSubrogateToCarrier | bool |
false | |
| propertyDamage | string |
true | Any property damage |
Option Definitions
actionTypeOptions
The action type taken on behalf of the policy
| Definition |
|---|
| EQUOTE |
| CANCEL |
| RENEWAL |
| REINSTATE |
| BINDER |
| ENDORSE |
| WRITEOFF |
| NOTICE |
| NEW |
driverStatusOptions
Defines what status driver is in relation to rating impact on the policy
| Definition |
|---|
| LIST |
| RATED |
| REVIEW |
listOnlyOptions
Defines type of List driver added on the policy
| Definition |
|---|
| NeverLicense |
| OtherInsurance |
| Incarcerated |
| Disabled |
| OutOfCountry |
| DoesNotDrive |
occupationGroupOptions
Defines the category to which a drivers occupation falls under
| Definition |
|---|
| Production/Manufacturing |
| Business/Sales/Office |
| Unemployed |
| Information Technology |
| Art/Design/Media |
| Student (full - time) |
| Medical/Social Services/Religion |
| Sports/Recreation |
| Education/Library |
| Retired (full - time) |
| Banking/Finance/Real Estate |
| Insurance |
| Personal Care/Service |
| Government/Military |
| Homemaker (full - time) |
| Food Service/Hotel Services |
| Travel/Transportation/Storage |
| Data Not Collected |
| Repair/Maintenance/Grounds |
| Engineer/Architect/Science/Math |
| Agriculture/Forestry/Fishing |
| Construction/Energy/Mining |
| Legal/Law Enforcement/Security |
ownershipTypeOptions
Defines the ownership type of vehicle(s) on the policy
| Definition |
|---|
| OWNED |
| FINANCED |
| LEASED |
policyStatusOptions
Defines the current status of the quote/policy
| Definition |
|---|
| ACTIVE |
| BINDER |
| CANCEL |
| EXPIRED |
| FUTURE |
| ISSUED |
| NOTICE |
| PENDING |
| QUOTE |
rateCallOptions
relationToInsuredOptions
Defines additional insureds relation to primary insured
| Definition |
|---|
| CHILD |
| INSURED |
| OTHER |
| PARENT |
| RELATIVE |
| SPOUSE |