Submit an application
const url = 'https://api.getcredify.com/intake';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"call":{"id":"crm-application-10484"},"consent":{"sms_review_link":true},"product":"Home","customer":{"first_name":"Maria","last_name":"Gomez","phone":"1234567890","email":"maria@example.com"},"address":{"line_1":"1100 Congress Ave","city":"Austin","state":"TX","postal_code":"78701"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.getcredify.com/intake \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "call": { "id": "crm-application-10484" }, "consent": { "sms_review_link": true }, "product": "Home", "customer": { "first_name": "Maria", "last_name": "Gomez", "phone": "1234567890", "email": "maria@example.com" }, "address": { "line_1": "1100 Congress Ave", "city": "Austin", "state": "TX", "postal_code": "78701" } }'Creates a draft application and sends the customer their review link. The same endpoint resends that link when the body is a resend action. call.id makes the request idempotent: a retry with the same id returns the existing draft and never messages the customer twice.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Send an application, or a resend action to send an existing application’s review link again.
Creates a draft application and sends the customer their review link.
object
Identifies the application. Everything except id is optional metadata stored for audit.
object
Your unique id for this application, such as your own record id. The idempotency key: reuse it only to retry the same application.
Decides which review flow the customer sees. Strongly recommended.
Your own campaign or placement label, shown in your reporting. Lowercased to letters, digits, - and _; at most 100 characters.
object
Must be true for the review link to be texted. Ask the customer first. The email goes either way.
Stored for audit.
Marks the application as a test. A test key does this too, and also stops the customer from being messaged.
object
10-digit US number. +1, dashes and spaces are allowed.
9 digits, dashes or spaces allowed. Encrypted at rest; any other length is dropped.
object
Two letters. Only TX and NJ are supported today; other states are kept as a draft and flagged.
5-digit ZIP.
All optional. Enum values must match exactly; any other value is kept and flagged for the customer to correct.
object
Additive to foundation_type, not a replacement — only rated when foundation_type is Basement or PartialBasement.
Only rated when burglar_alarm_system is true.
Whole dollars, e.g. 300000. Must be realistic — see note above.
YYYY-MM-DD
“Breakers or fuses?” — a yes/no, not a panel-type enum. There is no field for finer detail (knob-and-tube, fuse box); collapse the question to breakers yes/no.
Only these two. Unlike roof_updated_type, there is no NotUpdated: the extent only applies once the matching *_update_yn is true.
Year, e.g. 2019.
Only rated when fire_detection_system is true.
Only rated when has_garage is true.
Garage or carport.
Only these two. Unlike roof_updated_type, there is no NotUpdated: the extent only applies once the matching *_update_yn is true.
Year, e.g. 2019.
NoPriorInsurance or a carrier code (Allstate, Amica, AutoOwners, AmericanFamily, StateFarm, …). If NoPriorInsurance, the year/expiration fields are ignored.
YYYY-MM-DD
Whole dollars, e.g. 300000. Must be realistic — see note above.
Home claim history. Editable by the customer on the review page.
object
Home loss code, e.g. FIRE, HAIL, WATERDAMAGE, THEFTBURGLARY, HURRICANE.
Full single-line address. Send with is_mailing_address_different: true. Stored on the quote and shown on the review page; not part of the rating submission.
YYYY-MM-DD
Covered spaces, 1-3 (clamped to that range). Only rated when has_garage is true.
Only rated when heating_type is Oil, OilForcedAir or OilHotWater — otherwise it is stored but never reaches the carrier.
Whole dollars, e.g. 300000. Must be realistic — see note above.
Whole dollars, e.g. 300000. Must be realistic — see note above.
Only these two. Unlike roof_updated_type, there is no NotUpdated: the extent only applies once the matching *_update_yn is true.
Year, e.g. 2019.
Full single-line address; geocoded server-side and split into the prior-address columns (same handling as garaging_address). Reaches the carrier as the applicant’s previous address.
Whole dollars, e.g. 350000. Converted to sale_price_cents; wins when both are sent.
In cents, e.g. 35000000 for $350,000.
Only rated when sprinkler_system is true.
Year the roof was replaced, e.g. 2021. Big wind/hail factor. Only rated when roof_updated_type is PartialUpdate or CompleteUpdate — send both together.
All optional. Prior insurance and coverage selections for the policy; deductibles live on each vehicle.
object
NJ only. Additional PIP code, cov100_10400_LIMITED through cov700_UNLIMITED.
Cancelled/declined/non-renewed in the last 5 years.
Tenure with the prior carrier / continuous coverage.
In cents.
Same as current_carrier.
Tenure with the prior carrier / continuous coverage.
Tenure with the prior carrier / continuous coverage.
NoPriorInsurance or a carrier code (Progressive, Allstate, Geico, StateFarm, USAA, …). Same as auto_prior_carrier_name, and wins over it.
The household’s true driver total. When it exceeds the drivers sent, warnings carries drivers_overflow.
The first driver is the applicant.
object
YYYY-MM-DD
Dropped whole, with a warning, when incomplete.
object
Links the accident to one of the vehicles.
YYYY-MM-DD
YYYY-MM-DD preferred. Must be ≥ 18 on the review page.
2-letter state, International, or Canada
Dropped whole, with a warning, when incomplete.
object
For example Fire, Hail, Theft/Burglary, Glass, Towing, Wind, Flood or All Others.
Links the loss to one of the vehicles.
Optional.
A value from the industry’s occupation list, or a recognized alias. Anything else resolves to Other.
Drivers after the first: Spouse, Parent, Child, Domestic Partner, Relative, Employee, Other
9 digits, dashes or spaces allowed. Encrypted at rest.
Dropped whole, with a warning, when incomplete.
object
Violation description, e.g. Speeding, DWI, Failure to Stop.
YYYY-MM-DD
(TX only)
Same as auto_prior_expiration_date, and wins over it.
(TX only)
The household’s true vehicle total. When it exceeds the vehicles sent, warnings carries vehicles_overflow.
object
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
Uppercased on intake and checked against the live vehicle database on the review page (e.g. TOYOTA / RAV4 XLE / SUV). A value that isn’t in the list flags the field for the customer to re-pick.
In cents.
In cents.
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
Full street address; geocoded server-side.
Uppercased on intake and checked against the live vehicle database on the review page (e.g. TOYOTA / RAV4 XLE / SUV). A value that isn’t in the list flags the field for the customer to re-pick.
Required when primary_use is To_FromWork/To_FromSchool (one-way daily miles).
Uppercased on intake and checked against the live vehicle database on the review page (e.g. TOYOTA / RAV4 XLE / SUV). A value that isn’t in the list flags the field for the customer to re-pick.
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
Alias for ownership_type.
Same as ownership.
Alias for usage.
YYYY-MM-DD
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
In cents.
Same as primary_use.
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
Note: vehicle_garaged_at_residence: true means “garaged at a DIFFERENT address” (send garaging_address too).
17 chars. Uppercased on intake. Strongly recommended — it also links accidents/losses to the vehicle.
1981 to the current year.
The applicant. The yes/no flags apply to every product.
object
Second named insured. Sending it implies has_co_applicant: true.
object
Co-applicant must be 16 or older.
A value from the industry’s occupation list, or a recognized alias. Anything else resolves to Other.
Under 3 makes a prior address required on the review page.
Sends a fresh review link on every channel the application has a contact for. Send quoteId or callId.
object
The quoteId from the original response.
The call.id you submitted the application with.
Examples
Minimal Home application
{ "call": { "id": "crm-application-10484" }, "consent": { "sms_review_link": true }, "product": "Home", "customer": { "first_name": "Maria", "last_name": "Gomez", "phone": "1234567890", "email": "maria@example.com" }, "address": { "line_1": "1100 Congress Ave", "city": "Austin", "state": "TX", "postal_code": "78701" }}Full Home application
{ "call": { "id": "crm-application-10481", "channel": "web" }, "sub_id": "spring-2026-email", "consent": { "sms_review_link": true, "recording_disclosed": true }, "customer": { "first_name": "Maria", "last_name": "Gomez", "email": "maria.gomez@example.com", "phone": "1234567890", "date_of_birth": "1985-06-15", "ssn": "123-45-6789" }, "address": { "line_1": "1100 Congress Ave", "line_2": "", "city": "Austin", "state": "TX", "postal_code": "78701" }, "product": "Home", "home": { "year_built": 2004, "architectural_style": "Ranch", "dwelling_type": "SingleFamilyHouse", "construction_quality": "Average", "construction_type": "Frame", "exterior_wall_type": "BrickVeneer", "foundation_type": "Slab", "roof_material_type": "ASPHALT_SHINGLES", "roof_shape": "C_Hip", "roof_updated_type": "CompleteUpdate", "year_roof_updated": 2021, "heating_type": "Electric", "plumbing_type": "EntirelyCopper", "smoke_detectors": true, "deadbolt_locks": true, "fire_extinguisher": true, "sprinkler_system": true, "sprinkler_system_type": "Partial", "burglar_alarm_system": true, "burglar_alarm_system_type": "Central", "fire_detection_system": true, "fire_detection_system_type": "Direct", "electric_circuit_breaker": true, "has_garage": true, "garage_type": "Attached", "number_of_parking_spaces": 2, "heating_update_yn": true, "heating_update_type": "CompleteUpdate", "heating_update_year": 2019, "plumbing_update_yn": false, "electrical_update_yn": true, "electrical_update_type": "PartialUpdate", "electrical_update_year": 2015, "total_area_sq_ft": 2000, "number_of_units": 1, "number_of_stories": "One", "number_of_families": 1, "number_of_units_in_firewall": 1, "under_construction": false, "located_over_water": "NotOverWater", "distance_from_fire_hydrant_ft": "_0_500ft", "distance_from_fire_station_miles": "Lessthan5miles", "sale_price_cents": 35000000, "occupancy_type": "OwnerPrimary", "number_of_mortgagees": 1, "number_of_dogs": 0, "has_business_on_premises": false, "has_vicious_animals": false, "has_pool": false, "has_trampoline": false, "gated_community_discount": false, "mit_credit_form": false, "short_term_rental": false, "lapse_in_coverage": false, "property_insurance_cancelled": false, "move_in_date": "2020-05-01", "effective_date": "2026-07-15", "home_has_prior_insurance": true, "home_prior_carrier_name": "Allstate", "home_prior_years": 5, "home_continuous_coverage_years": 5, "home_prior_expiration_date": "2026-07-14", "dwelling_replacement_cost": 300000, "other_structures_coverage": 30000, "personal_property_coverage": 150000, "loss_of_use_coverage": 60000, "personal_liability": "ThreeHundred", "dwelling_medical_payments": "cov5000", "all_perils_deductible": "OneThousand", "windstorm_deductible": "TwoPercent", "prior_address": "900 E 5th St, Austin, TX 78702", "years_at_prior_address": 4, "losses": [ { "description": "WATERDAMAGE", "date_of_incident": "2022-11-03", "amount_paid_cents": 480000 } ] }, "demographics": { "gender": "Female", "marital_status": "Married", "industry": "Info Tech", "occupation": "Software Engineer", "residence_type": "Own Home", "household_size": 3, "years_at_address": 4, "months_at_address": 2, "is_corporation": false, "is_mailing_address_different": false, "has_co_applicant": false, "order_credit_authorized": true, "has_health_insurance_auto_accident": false, "named_insured_foreclosure_repo_bankruptcy": false, "named_insured_convicted_insurance_fraud": false }}Auto application
{ "call": { "id": "crm-application-10482" }, "consent": { "sms_review_link": true }, "product": "Auto", "customer": { "first_name": "Maria", "last_name": "Gomez", "email": "maria.gomez@example.com", "phone": "1234567890", "date_of_birth": "1985-06-15", "ssn": "123-45-6789" }, "address": { "line_1": "1100 Congress Ave", "city": "Austin", "state": "TX", "postal_code": "78701" }, "auto": { "current_carrier": "Progressive", "policy_expiration_date": "2026-09-01", "effective_date": "2026-08-01", "auto_prior_years": 3, "auto_prior_months": 4, "auto_continuous_coverage_years": 5, "auto_prior_liability_limit": "HundredToThreeHundred", "auto_cancelled_declined_refused_to_renew": false, "policy_bi": "cov100to300", "policy_um": "cov100to300", "policy_pd": "cov100000", "policy_mp": "cov5000", "policy_umpd": "cov50000", "policy_pip": "cov2500", "policy_auto_death_indemnity": "NoCoverage", "vehicles": [ { "vin": "4T1BF1FK5CU123456", "year": 2021, "make": "TOYOTA", "model": "RAV4", "ownership": "Owned", "primary_use": "To_FromWork", "miles_to_work": 12, "annual_mileage": 12000, "new_when_purchased": false, "vehicle_comp_deductible": "FiveHundred", "vehicle_coll_deductible": "FiveHundred", "vehicle_towing_and_labor": "NoCoverage", "vehicle_transportation_expense": "NoCoverage", "vehicle_garaged_at_residence": false, "vehicle_has_modifications": false }, { "vin": "1FTFW1ET5DFC98765", "year": 2019, "make": "FORD", "model": "F-150", "ownership": "Lien", "primary_use": "Pleasure", "annual_mileage": 6000, "vehicle_comp_deductible": "Thousand", "vehicle_coll_deductible": "Thousand", "vehicle_towing_and_labor": "NoCoverage", "vehicle_transportation_expense": "NoCoverage", "vehicle_garaged_at_residence": true, "garaging_address": "500 W 6th St, Austin, TX 78701", "vehicle_has_modifications": true, "custom_equipment_value_cents": 350000 } ], "drivers": [ { "first_name": "Maria", "last_name": "Gomez", "date_of_birth": "1985-06-15", "gender": "Female", "marital_status": "Married", "education_level": "Bachelors", "industry": "Info Tech", "occupation": "Software Engineer", "license_status": "Valid", "license_state": "TX", "license_number": "12345678", "date_first_licensed": "2004-06-20", "sr22": false, "last_5_years_license_suspended_or_revoked": false }, { "first_name": "Carlos", "last_name": "Gomez", "date_of_birth": "1983-02-20", "gender": "Male", "marital_status": "Married", "relationship_to_insured": "Spouse", "education_level": "AssociatesDegree", "industry": "Construct/EnrgyTrds", "occupation": "Electrician", "license_status": "Valid", "license_state": "TX", "license_number": "87654321", "date_first_licensed": "2001-05-10", "is_registered_owner": false, "sr22": false, "last_5_years_license_suspended_or_revoked": false } ] }, "demographics": { "gender": "Female", "marital_status": "Married", "industry": "Info Tech", "occupation": "Software Engineer", "residence_type": "Own Home", "years_at_address": 4, "months_at_address": 2, "household_size": 2, "is_mailing_address_different": false, "has_co_applicant": true, "order_credit_authorized": true, "has_health_insurance_auto_accident": true, "named_insured_foreclosure_repo_bankruptcy": false, "named_insured_convicted_insurance_fraud": false, "is_corporation": false, "co_applicant": { "first_name": "Carlos", "last_name": "Gomez", "gender": "Male", "marital_status": "Married", "relationship": "Spouse", "date_of_birth": "1983-02-20", "industry": "Construct/EnrgyTrds", "occupation": "Electrician" } }}Bundle application
{ "call": { "id": "crm-application-10483" }, "consent": { "sms_review_link": true }, "product": "Bundle", "customer": { "first_name": "Maria", "last_name": "Gomez", "email": "maria.gomez@example.com", "phone": "1234567890", "date_of_birth": "1985-06-15", "ssn": "123-45-6789" }, "address": { "line_1": "1100 Congress Ave", "city": "Austin", "state": "TX", "postal_code": "78701" }, "home": { "year_built": 2004, "architectural_style": "Ranch", "dwelling_type": "SingleFamilyHouse", "construction_type": "Frame", "construction_quality": "Average", "exterior_wall_type": "BrickVeneer", "foundation_type": "Slab", "roof_material_type": "ASPHALT_SHINGLES", "roof_shape": "C_Hip", "roof_updated_type": "NotUpdated", "heating_type": "Electric", "plumbing_type": "EntirelyCopper", "located_over_water": "NotOverWater", "number_of_stories": "One", "total_area_sq_ft": 2000, "number_of_units": 1, "number_of_families": 1, "number_of_units_in_firewall": 1, "under_construction": false, "occupancy_type": "OwnerPrimary", "short_term_rental": false, "number_of_dogs": 0, "has_vicious_animals": false, "has_business_on_premises": false, "distance_from_fire_hydrant_ft": "_0_500ft", "distance_from_fire_station_miles": "Lessthan5miles", "gated_community_discount": false, "mit_credit_form": false, "number_of_mortgagees": 1, "home_has_prior_insurance": true, "home_prior_carrier_name": "Allstate", "home_prior_years": 5, "home_prior_expiration_date": "2026-07-31", "lapse_in_coverage": false, "property_insurance_cancelled": false, "move_in_date": "2018-05-01", "effective_date": "2026-08-01", "sale_price_cents": 35000000, "dwelling_replacement_cost": 300000, "other_structures_coverage": 30000, "personal_property_coverage": 150000, "loss_of_use_coverage": 60000, "personal_liability": "ThreeHundred", "dwelling_medical_payments": "cov5000", "all_perils_deductible": "OneThousand", "windstorm_deductible": "TwoPercent", "losses": [ { "description": "WATERDAMAGE", "date_of_incident": "2022-11-03", "amount_paid_cents": 480000 } ] }, "auto": { "current_carrier": "Progressive", "policy_expiration_date": "2026-09-01", "auto_prior_liability_limit": "HundredToThreeHundred", "auto_prior_years": 3, "auto_prior_months": 4, "auto_continuous_coverage_years": 5, "auto_cancelled_declined_refused_to_renew": false, "policy_bi": "cov100to300", "policy_um": "cov100to300", "policy_pd": "cov100000", "policy_mp": "cov5000", "policy_umpd": "cov50000", "policy_pip": "cov2500", "policy_auto_death_indemnity": "NoCoverage", "vehicles": [ { "vin": "4T1BF1FK5CU123456", "year": 2021, "make": "TOYOTA", "model": "RAV4", "ownership": "Owned", "primary_use": "To_FromWork", "miles_to_work": 12, "annual_mileage": 12000, "vehicle_comp_deductible": "FiveHundred", "vehicle_coll_deductible": "FiveHundred", "vehicle_towing_and_labor": "NoCoverage", "vehicle_transportation_expense": "NoCoverage", "vehicle_has_modifications": false } ], "drivers": [ { "first_name": "Maria", "last_name": "Gomez", "date_of_birth": "1985-06-15", "gender": "Female", "marital_status": "Married", "education_level": "Bachelors", "industry": "Info Tech", "occupation": "Software Engineer", "license_status": "Valid", "license_state": "TX", "date_first_licensed": "2004-06-20", "sr22": false, "last_5_years_license_suspended_or_revoked": false } ] }, "demographics": { "gender": "Female", "marital_status": "Married", "industry": "Info Tech", "occupation": "Software Engineer", "residence_type": "Own Home", "household_size": 3, "years_at_address": 4, "months_at_address": 2, "order_credit_authorized": true, "has_co_applicant": false, "is_mailing_address_different": false }}Resend the review link
{ "action": "resend_review_link", "callId": "crm-application-10484"}Responses
Section titled “Responses”A retry of a call.id already received (idempotent: true), or a resend that went out.
object
pending_review until the customer confirms.
true when this call.id was already received.
This application’s reference in your reporting. Store it. Absent only when warnings has attribution_failed.
sent is true when either channel delivered.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
Non-fatal notes, e.g. unsupported_state:CA, invalid_phone_dropped, incomplete_accident_dropped.
object
sent is true when either channel delivered.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
Example
{ "missingCriticalFields": [ "first_name" ]}Draft created.
object
pending_review until the customer confirms.
true when this call.id was already received.
This application’s reference in your reporting. Store it. Absent only when warnings has attribution_failed.
sent is true when either channel delivered.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
Non-fatal notes, e.g. unsupported_state:CA, invalid_phone_dropped, incomplete_accident_dropped.
Example
{ "missingCriticalFields": [ "first_name" ]}The body is not valid JSON, or a resend names neither quoteId nor callId.
object
Example generated
{ "error": "example"}Missing, unknown, revoked or expired API key. Fix the key before retrying.
object
Example generated
{ "error": "example"}The key may not submit applications, or the account is not active.
object
Example generated
{ "error": "example"}Resend only: no application of yours matches.
object
Example generated
{ "error": "example"}Resend only: the customer has already confirmed the application.
object
Example generated
{ "error": "example"}The body failed validation, or is larger than 256 KB. For a resend, nothing could be sent.
object
object
object
sent is true when either channel delivered.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
object
Set only when nothing was sent. no_sms_consent, no_phone and no_email name a missing input; already_sent means that channel was already used for this application; send_failed is safe to retry; already_processed is an idempotent replay; test_mode means a test key, which never contacts the customer.
Example generated
{ "error": "example", "fields": [ { "field": "example", "message": "example" } ]}Rate limited: 120 requests a minute per key. Retry after the Retry-After interval with the same call.id.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers”Seconds to wait before retrying.
Unexpected error. Safe to retry with the same call.id.
object
Example generated
{ "error": "example"}