PatchQuote

API endpoints for patching and updating quotes

PatchQuote

Allows you to edit a Quote via API. This feature will be built up over time, initially supporting limited functionality. All text fields must only contain characters found in CHARSET=latin1 (ISO 8859-1) character set.

This page reflects tab order on Quote screens. Each section notes fields that can be updated via patchQuote. A single patchQuote request can include one or all fields regardless of which screen the fields reside.

Supplementary SWAGGER documentation: api.catch-e.com/docs/#/Quotes/patchQuote

Note: Pass blank body in patchQuote request to recalculate quote using existing stored variables.

Permissions

Note: This permission and API not available by default. Contact your Account Manager to get access. This API is not configured for external use.

To run this API, the nominated 'web-services' role needs permission.

If not actively using, leave off for better security.

Go to Roles / APIs and check on Quotes:Update.

Authentication

Authenticate with the API before running this API.

HTTP Method

PATCH

URL

https://api.catch-e.com/qt/quotes/{quote_id} https://api.catch-e.com/qt/quotes/100000 

Path Variables

Key

Format

Notes

Mandatory

quote_id

string

Target Quote ID to edit

Yes

Headers

Key

Format

Notes

Mandatory

Audit-User-Id

string

If authenticated API user has Audit:UserIdOverride permission, optional header to create audit records with specified user_id

No

Body (JSON)

Field

Format

Notes

Mandatory

override_warnings_flag

string

If 'no', quotes validated and won't update if warning given. If 'yes', alerts ignored and quote updated. Example: VMP maintenance program negative values

No

after_hours_assistance_flag

string

Values: yes, no

No

allowances

number

No

annual_kms

number

No

annual_salary

number

No

application_date

string

Format: YYYY-MM-DD

No

application_reference

string

No

application_status_flag

string

No

ato_loan_flag

string

Values: yes, no

No

base_rate

number

No

bonus_amount_gst

number

No

bonus_amount_net

number

No

claimable_gst

number

No

client_contact_name

string

No

client_email

string

Email format

No

client_fax

string

No

client_group_flag

string

Values: yes, no

No

client_id

string

No

client_name

string

Max 100 characters

No

client_phone

string

No

colour_preference

string

No

colour_preference_2

string

No

colour_preference_3

string

No

colour_preference_note

string

No

comments

string

No

comments_internal

string

No

competitor_id

string

No

competitor_margin_id

string

No

contract_kms

number

No

ctp_initial_gst

number

No

ctp_initial_net

number

No

date

string

Format: YYYY-MM-DD

No

date_first_held

string

Format: YYYY-MM-DD

No

deal_type_id

string

No

dealer_comment

string

No

dealer_delivery_gst

number

No

dealer_delivery_net

number

No

dealer_discount_gst

number

No

dealer_discount_net

number

No

dealer_rebate_gst

number

No

dealer_rebate_net

number

No

delivery_location_type

string

Values: country, metro

No

deposit_gst

number

No

deposit_net

number

No

discount_gst

number

No

discount_net

number

No

discount_type_id

string

No

disposal_fee

number

No

disposal_flag

string

Values: yes, no

No

driver_email

string

Email format

No

driver_fax

string

No

driver_given_name

string

No

driver_id

string

No

driver_phone

string

No

driver_surname

string

No

duration

number

No

ecm_flag

string

Values: yes, no

No

employer_fbt_type

string

Values: full-fbt-payable

No

establishment_fee

number

No

excess_km_flag

string

Values: yes, no

No

fbt_benefit_type

string

Values: statutory

No

fbt_business_use

number

No

fbt_treatment_type

string

Values: standard

No

fbt_value

number

No

finance_type_id

string

No

gap_insurance_flag

string

Values: yes, no

No

insurance_at_fault_flag

string

Values: yes, no

No

insurance_conviction_flag

string

Values: yes, no

No

insurance_loss_licence_flag

string

Values: yes, no

No

insurer_location_id

string

No

insurer_location_postcode

string

No

list_price_gst

number

No

list_price_net

number

No

location_name

string

No

location_registration_id

string

No

lock_comprehensive_insurance_flag

string

Values: yes, no

No

lock_dealer_discount_flag

string

Values: yes, no

No

lock_discount_flag

string

Values: yes, no

No

lock_fbt_value_flag

string

Values: yes, no

No

lock_luxury_car_tax_flag

string

Values: yes, no

No

lock_purchase_stamp_duty_flag

string

Values: yes, no

No

lock_quote_flag

string

Values: yes, no

No

luxury_car_tax

number

No

luxury_car_tax_paid_flag

string

Values: yes, no

No

margin_gst

number

No

margin_net

number

No

new_used

string

Values: new, used, demonstrator

No

odometer

number

No

opportunity_id

string

No

opportunity_number

string

No

opportunity_stage_id

string

No

originator_fee

number

No

originator_id

string

No

package_admin_fee

number

No

packaging_advice_fee

number

No

parent_quote_id

string

No

pay_cycle_id

string

No

plate_year

number

No

policy_owner_type

string

Values: driver, client, insurer_internal

No

post_tax_existing

number

No

posting_map_id

string

No

pre_tax_existing

number

No

premium_plates_net

number

No

previous_lease_start

string

Format: YYYY-MM-DD

No

previous_fbt_value

number

No

price_comment

string

No

pricing_received

string

No

pricing_reference

string

No

pricing_requested

string

No

procurement_fee

number

No

procurement_flag

string

Values: yes, no

No

purchase_stamp_duty

number

No

quote_date

string

Format: YYYY-MM-DD

No

quote_status_id

string

No

rebate_gst

number

No

rebate_net

number

No

reduced_super_flag

string

Values: yes, no

No

redundancy_insurance_flag

string

Values: yes, no

No

reg_initial_net

number

No

residual_net

number

No

state

string

Values: NSW, VIC, QLD, SA, WA, TAS, ACT, NT

No

superannuation

number

No

supplier_id_dealer

string

No

term

number

No

trade_in_amount_gst

number

No

trade_in_amount_net

number

No

trade_in_reg_no

string

No

trim_preference

string

No

user_id_assigned

string

No

user_id_client_manager

string

No

variant_id

string

No

vehicle_tracking_system_flag

string

Values: yes, no

No

vehicle_usage_type_id

string

No

warranty_kms

number

No

warranty_mths

number

No

Nested Objects

carbon_emissions_offset

Field

Format

Notes

included_flag

string

Values: yes, no

fuel

Field

Format

Notes

fuel_type_id

string

cost_per_litre

number

usage_type

string

Values: metro, country, combined (case-sensitive)

litres_per_100km

number

monthly_amount_net

number

included_flag

string

Values: yes, no

inclusion_plans (array)

Field

Format

Notes

inclusion_code

string

inclusion_plan_code

string

inclusion_plan_code_qualified

string

retail_price_gross

number

included_flag

string

Values: yes, no

insurance

Field

Format

Notes

supplier_id

string

insurance_type_id

string

billing_type

string

claim_excess

number

annual_insurance

number

fund_1st_year_flag

string

Values: yes, no

monthly_amount_net

number

included_flag

string

Values: yes, no

insurance_loading_types

Field

Format

Notes

past_claims.insurance_loading_type_id

string

licence.insurance_loading_type_id

string

driver_restriction.insurance_loading_type_id

string

lti

Field

Format

Notes

lti_top_up_benefit_id

string

retail_price_gross

number

included_flag

string

Values: yes, no

maintenance_service

Field

Format

Notes

maintenance_service_profile_id

string

service_kms

number

service_mths

number

monthly_amount_net

number

included_flag

string

Values: yes, no

optional_equipment (array)

Field

Format

Notes

optional_equipment_id

string

description

string

cost_price_net

number

list_price_net

number

discount_net

number

gst

number

residual_rate

number

included_flag

string

Values: yes, no

reg_ctp

Field

Format

Notes

annual_reg

number

annual_ctp

number

annual_plates

number

renewals

number

monthly_amount_net

number

included_flag

string

Values: yes, no

relief_vehicle

Field

Format

Notes

monthly_amount_net

number

included_flag

string

Values: yes, no

roadside_assistance

Field

Format

Notes

roadside_assistance_plan_id

string

premium

number

cost

number

monthly_amount_net

number

included_flag

string

Values: yes, no

small_damage_repairs

Field

Format

Notes

small_damage_repairs_id

string

premium

number

monthly_amount_net

number

included_flag

string

Values: yes, no

tyres

Field

Format

Notes

tyre_id

string

tyres_per_set

number

tyre_km_interval

number

unit_cost_net

number

limit_flag

string

Values: yes, no

tyres_estimated

number

monthly_amount_net

number

included_flag

string

Values: yes, no

tyre_rim_insurance

Field

Format

Notes

tyre_rim_insurance_plan_id

string

included_flag

string

Values: yes, no

vehicle_maintenance_program

Field

Format

Notes

monthly_amount_net

number

included_flag

string

Values: yes, no

walkaway

Field

Format

Notes

walkaway_plan_id

string

included_flag

string

Values: yes, no

bespoke_field_values

Field

Format

Notes

(dynamic)

varies

Custom field values specific to configuration

Response - 200 OK

{ "accepted_count": 0, "accident_management_fee": null, "advance_arrears": "advance", "after_hours_assistance_flag": "no", "allowances": 0, "annual_salary": 90000, "application_collection_date": "0000-00-00", "application_date": "0000-00-00 00:00:00", "application_reference": "", "application_status": "", "application_status_flag": "", "arrears_interest": 0, "ato_loan_flag": "no", "base_rate": 0.052, "base_residual_rate": 0, "billing_periods": 36, "bonus_amount_gst": 0, "bonus_amount_net": 0, "broker_fee": 0, "broker_rate": 0, "budgets": { "CEO": { "posting_class_id": "100065", "amount_net": 12.03, "amount_gst": 1.2, "total_amount_net": 433.08, "total_amount_gst": 43.2, "notes": "Included" }, "T": { "posting_class_id": "100021", "amount_net": 0, "amount_gst": 0, "total_amount_net": 0, "total_amount_gst": 0, "notes": "Excluded" }, "VMP": { "posting_class_id": "100087", "amount_net": 7.78, "amount_gst": 0.78, "total_amount_net": 280.08, "total_amount_gst": 28.08, "notes": "Included" } }, "budgets_financed": 0, "cancelled": "0000-00-00 00:00:00", "capitalised_interest": 0, "carbon_emissions_offset": { "included_flag": "yes" }, "claimable_gst": 5521.18, "variant_id": "173561", "vehicle_maintenance_program": { "included_flag": "yes" }, "_links": { "self": { "href": "https://api.catch-e.com/fm/drivers/101151" } }, "quote_links": { "self": { "href": "https://api.catch-e.com/qt/quotes/132654" } } } 

Successful request. Response includes full calculated quote with all budgets and pricing. (Note: full response contains hundreds of rows; abbreviated here.)

Response - 401 Unauthorized

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unauthorized", "status": 401, "detail": "Unauthorized" } 

You have not authenticated or your token_timeout has passed. Authenticate again.

Response - 403 Forbidden

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Forbidden", "status": 403, "detail": "Forbidden" } 

You do not have permissions. Go to System Roles, enter 'web_services', navigate to Roles / APIs and check permissions.

Response - 422 Unprocessable Entity

Quote ID does not exist:

{ "quote_id": { "noRecordFound": "No record matching the input was found" } } 

Pass valid Quote ID.

client_name too long:

{ "client_name": { "stringLengthTooLong": "The input is more than 100 characters long" } } 

client_name must be 100 characters or less.

Invalid fuel usage_type:

{ "fuel": { "usage_type": { "notInArray": "Unsupported value" }, "included_flag": { "fuelDetailsRequired": "Required fuel details not supplied" } } } 

usage_type is case-sensitive and must be one of: metro, country, combined.

Negative VMP amount (warning):

{ "vehicle_maintenance_program": { "monthly_amount_net": { "inputAmountNegative": "Maintenance program budget contains negative values" } } } 

Negative amount input. This is warning. Override by passing override_warnings_flag = 'yes'.

Amount outside allowable range:

{ "vehicle_maintenance_program": { "monthly_amount_net": { "notBetween": "The input is not between '-99999999' and '99999999', inclusively" } } } 

Invalid amount outside allowable range.

Finance exceeds cover limit:

{ "validation_messages": { "quote_id": { "ericQuoteError": "OccurredAt='2022-09-08T06:10:57.4193528Z', Code='QM11', Description='The amount financed, $166,704.20, exceeds the limit for the cover type: NEWTYWHM12 (Product code: TYW)'\n\nQuotation Number: c709ec9f-1c9a-4cbd-93ba-2d400e9836fa" } } } 

Amount financed exceeds limit for cover type.

Negative Client Margin:

{ "validation_messages": { "client_margin_rate": { "clientMarginRateCannotBeNegative": "Client Margin must be 0 or positive number." } } } 

Negative Client Margin rejected based on gb_controls client_margin_allow_negative_flag = 'no'.

Response - 423 Locked

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Locked", "status": 423, "detail": { "locked_by": { "user_id": "10000", "user_login": "user_login", "full_name": "Full Name of user" } } } 

Quote being edited. Try again once quote no longer in use. patchQuote attempts to obtain lock 10 times with random 500-1000ms delay between attempts. If lock cannot be obtained, 423 results.

Response - 500 Internal Server Error

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Internal Server Error", "status": 500, "detail": "Unknown value for gb_control->luxury_charge_depreciation_method. Aborting..." } 

Quote's Effective Date earlier than control effective date shown in error. Update control effective date to be earlier than any quotes.