NAV
shell

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 List<createBinderCoverageLimitObject> false A collection of coverage limits
writtenByCoverage List<createBinderWrittenCoverageObject> 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 List<createBinderInstallmentObject> 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