Canopy Connect API

The Canopy Connect API returns structured property and casualty insurance data directly from 400+ carriers in real time. Applications can verify coverage, retrieve policy documents, pull driver and vehicle details, and surface claims history in under a minute instead of the typical 30-minute manual verification process.

Operations 54

GET /teams/{teamId}/pulls/{pullId} GET /pulls/:pullId #
PATCH /teams/{teamId}/pulls/{pullId} PATCH /pulls/:pullId #
GET /teams/{teamId}/pulls GET /pulls #
GET /teams/{teamId}/pulls/{pullId}/documents/{documentId}/pdf GET /:documentId/pdf #
GET /teams/{teamId}/pulls/{pullId}/documents/{documentId} GET /:documentId #
GET /teams/{teamId}/pulls/{pullId}/answers/{answerId}/files/{fileId} GET /:fileId #
POST /teams/{teamId}/pulls/{pullId}/policyCheck POST /policyCheck #
GET /teams/{teamId}/pulls/{pullId}/policyCheck/pdf GET /policyCheck/pdf #
POST /consent POST /consent #
GET /teams/{teamId}/webhooks GET /webhooks #
POST /teams/{teamId}/webhooks POST /webhooks #
PATCH /teams/{teamId}/webhooks/{webhookId} PATCH /webhooks/:webhookId #
DELETE /teams/{teamId}/webhooks/{webhookId} DELETE /webhooks/:webhookId #
GET /teams/{teamId}/monitorings GET /monitorings #
POST /teams/{teamId}/monitorings POST /monitorings #
PATCH /teams/{teamId}/monitorings/{monitoringId} PATCH /monitorings/:monitoringId #
DELETE /teams/{teamId}/monitorings/{monitoringId} DELETE /monitorings/:monitoringId #
GET /teams/{teamId}/monitorings/{monitoringId} GET /monitorings/:monitoringId #
GET /teams/{teamId}/monitorings/{monitoringId}/reconnectToken GET /monitorings/:monitoringId/reconnectToken #
POST /teams/{teamId}/monitorings/{monitoringId}/refresh POST /monitorings/:monitoringId/refresh #
GET /teams/{teamId}/monitorings/{monitoringId}/events GET /monitorings/:monitoringId/events #
GET /policyforms/{policyFormId}/pdf GET /policyforms/:policyFormId/pdf #
GET /teams/{teamId}/policyForms/{policyFormId} GET /:policyFormId #
GET /tos GET /tos #
POST /widget/pull/consentAndConnect POST /consentAndConnect #
POST /widget/pull/consentAndDocuments POST /consentAndDocuments #
POST /widget/pull/{pullId}/connect POST /connect #
GET /carriers GET /carriers #
GET /carriers/{carrierId} GET /carriers/:carrierId #
POST /widget/pull/{pullId}/idv POST /idv #
POST /widget/pull/{pullId}/idvoptions POST /idvoptions #
POST /widget/pull/reconnectToken POST /reconnectToken #
GET /teams/{teamId}/servicings GET /servicings #
POST /teams/{teamId}/servicings POST /servicings #
GET /teams/{teamId}/servicings/{servicingActionId} GET /servicings/:servicingActionId #
POST /widget/pull/{pullId}/servicingAction POST /servicingAction #
GET /health GET /health #
GET /teams/{teamId}/enrich/propertyData GET /propertyData #
GET /teams/{teamId}/enrich/driverLicense GET /driverLicense #
GET /teams/{teamId}/enrich/drivingRecordIq GET /drivingRecordIq #
GET /teams/{teamId}/enrich/household GET /household #
POST /teams/{teamId}/policySearch POST /policySearch #
GET /teams/{teamId}/policyChecks/settings GET /policyChecks/settings #
POST /teams/{teamId}/policyChecks/settings POST /policyChecks/settings #
GET /teams/{teamId}/widgets GET /widgets #
POST /teams/{teamId}/widgets POST /widgets #
GET /teams/{teamId}/widgets/{widgetId} GET /:widgetId #
PATCH /teams/{teamId}/widgets/{widgetId} PATCH /:widgetId #
DELETE /teams/{teamId}/widgets/{widgetId} DELETE /:widgetId #
PUT /teams/{teamId}/widgets/{widgetId}/icon PUT /:widgetId/icon #
GET /teams/{teamId} GET /:teamId #
DELETE /teams/{teamId} DELETE /:teamId #
POST /teams POST /teams #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canopy-connect-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canopy-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0","description":"Canopy Connect Public API Documentation","contact":{"name":"Canopy Connect","email":"support@usecanopy.com","url":"https://usecanopy.com/"},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}},"servers":[{"url":"https://app.usecanopy.com/api/v1.0.0"}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"HTTP Basic authentication. Use your Canopy Connect Client ID as the username and your Client Secret as the password. The `Authorization` header value is `Basic <base64 of clientId:clientSecret>`. See the [Authentication guide](https://docs.usecanopy.com/reference/authentication-guide) for a full walkthrough, and create or manage your Client ID and Client Secret on the [API Settings page](https://app.usecanopy.com/dashboard/settings/api-settings)."}},"schemas":{"Pull":{"title":"Pull","type":"object","properties":{"pull_id":{"type":"string","format":"uuid","description":"ID of the pull"},"status":{"$ref":"#/components/schemas/WebhookBody/properties/status"},"account_identifier":{"type":["string","null"],"description":"Unique identifier for online account holder that will stay the same across PULLING_DATA pulls"},"first_name":{"type":["string","null"],"description":"First name of online account holder"},"middle_name":{"type":["string","null"],"description":"Middle name of online account holder"},"last_name":{"type":["string","null"],"description":"Last name of online account holder"},"email":{"type":["string","null"],"description":"Email optionally provided by consumer after submitting bad credentials (`NOT_AUTHENTICATED`)","format":"email"},"account_email":{"type":["string","null"],"description":"Online account holder email address","format":"email"},"phone":{"type":["string","null"],"description":"Preferred contact phone"},"mobile_phone":{"type":["string","null"],"description":"Online account holder mobile phone"},"home_phone":{"type":["string","null"],"description":"Online account holder home phone"},"work_phone":{"type":["string","null"],"description":"Online account holder work phone"},"work_phone_extension":{"type":["string","null"],"description":"Online account holder work phone extension"},"insurance_provider_name":{"type":["string","null"],"description":"Online account holder's insurance provider identifier. This is not a user-friendly name."},"insurance_provider_friendly_name":{"type":["string","null"],"description":"Online account holder's insurance provider name. This is a user-friendly name."},"team_id":{"type":"string","format":"uuid","description":"Team ID this pull is associated with (should match the team id used or api call)"},"widget_id":{"type":"string","format":"uuid","description":"Widget/Link Id that the online account holder submitted on"},"meta_data":{"type":["string","null"],"description":"Developer-supplied arbitrary JSON-serializable data as a string"},"is_archived":{"type":"boolean","default":false,"description":"Whether the pull is archived"},"created_at":{"type":"string","format":"date-time","description":"Time at which the pull was created by online account holder giving consent"},"public_alias":{"type":"string","description":"Url alias/extension of the Canopy Connect link where the pull was submitted"},"public_url":{"type":"string","description":"Full public url used to create pull"},"encountered_mfa":{"type":"boolean","description":"Whether the Pull encountered MFA"},"no_policies":{"type":"boolean","description":"Whether the account has no policies"},"no_drivers":{"type":"boolean","description":"Whether the account has no drivers"},"no_documents":{"type":"boolean","description":"Whether the account has no documents"},"no_claims":{"type":"boolean","description":"Whether the account has no claims"},"no_loss_events":{"type":"boolean","description":"Whether the account has no loss events"},"type":{"type":"string","enum":["PULLING_DATA","SERVICING","DOCUMENT_UPLOAD","DOCUMENT_PARSING","AGENT","MANUAL_ENTRY","POLICY_LOOKUP","CONTACT_ME"],"description":"Pull Type"},"parent_pull_id":{"type":["string","null"],"format":"uuid","description":"Internal correlation field linking a pull to its parent pull, when applicable. `null` for top-level pulls. Pulls with a `parent_pull_id` represent internal work and do not fire customer-facing webhooks — only the parent pull's webhooks are delivered externally."},"policy_check_status":{"type":"string","enum":["NONE","COMPLIANT","NOT_COMPLIANT","REVIEW_REQUIRED"],"description":"Overview of Policy Check Status"},"policies":{"type":"array","uniqueItems":true,"description":"List of policy objects","items":{"$ref":"#/components/schemas/Policy"}},"drivers":{"type":"array","uniqueItems":true,"description":"List of driver objects","items":{"$ref":"#/components/schemas/Driver"}},"documents":{"type":"array","uniqueItems":true,"description":"List of document objects","items":{"$ref":"#/components/schemas/Document"}},"addresses":{"type":"array","uniqueItems":true,"description":"List of address objects","items":{"type":"object","$ref":"#/components/schemas/Address"}},"claims":{"type":"array","description":"List of claim objects","uniqueItems":true,"items":{"$ref":"#/components/schemas/Claim"}},"driving_records":{"type":"array","description":"List of driving record objects","uniqueItems":true,"items":{"$ref":"#/components/schemas/DrivingRecord"}},"loss_events":{"type":"array","description":"List of commercial loss events objects","uniqueItems":true,"items":{"$ref":"#/components/schemas/LossEvent"}},"agents":{"type":"array","description":"List of agent objects","items":{"$ref":"#/components/schemas/AgentInfo"}},"answers":{"type":"array","description":"List of answers to custom fields in the link flow","items":{"$ref":"#/components/schemas/AnswerSection"}},"skipped_product_types":{"description":"Product types for skipped policies due to lack of access","type":["array","null"],"items":{"enum":["personal","commercial","agent"]}},"funnel":{"$ref":"#/components/schemas/PullFunnel","description":"Information about the Pull’s deal stage"}}},"PullFunnel":{"title":"PullFunnel","type":["object","null"],"description":"Information about the Pull’s deal stage","properties":{"assignee":{"$ref":"#/components/schemas/PullAssignee","description":"Agent to whom the Pull is assigned"},"premium":{"description":"Total premium won (when `stage` is `WON`)","type":["number","null"]},"stage":{"description":"Reported deal stage that the Pull is in","type":"string","enum":["WORKING","WON","LOST"]}}},"PullAssignee":{"title":"PullAssignee","type":["object","null"],"description":"Agent to whom the Pull is assigned","properties":{"agent_id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"first_name":{"type":"string"},"last_name":{"type":"string"}}},"Policy":{"title":"Policy","type":"object","properties":{"policy_id":{"type":"string","format":"uuid","description":"ID of the policy"},"name":{"type":["string","null"],"description":"Human-friendly name of policy"},"description":{"type":["string","null"],"description":"Human-friendly description of policy"},"carrier_policy_number":{"type":["string","null"],"description":"The carrier's identifier for the policy"},"policy_type":{"type":["string","null"],"description":"Policy type","enum":["AUTO","NAMED_NON_OWNER","CLASSIC_CAR","BOAT","CONDO","FARMOWNER","FLOOD","HOMEOWNERS","LANDLORD","LIFE","MOTORCYCLE","TERM_LIFE","UNIVERSAL_LIFE","WHOLE_LIFE","RENTERS","SNOWMOBILE","UMBRELLA","RECREATIONAL_VEHICLE","FIRE","TRAILER","PERSONAL_ARTICLES","EARTHQUAKE","BUSINESS_OWNERS","COMMERCIAL_UMBRELLA","COMMERCIAL_AUTO","COMMERCIAL_FIRE","COMMERCIAL_AGRIBUSINESS","COMMERCIAL_PACKAGE","COMMERCIAL_PROPERTY","COMBO","OFFROAD_VEHICLE","WORKERS_COMPENSATION","MOBILE_HOME","PET","PERSONAL_LIABILITY","GENERAL_LIABILITY","ERRORS_AND_OMISSIONS","INLAND_MARINE","GARAGE","EXCESS_LIABILITY","CYBER","IDENTITY_THEFT","COMMERCIAL_CRIME","ARTISAN_AND_SERVICE_CONTRACTORS","FARM_POLLUTION_LIABILITY","FARM_UMBRELLA","MANAGEMENT_LIABILITY","GOLF_CART","YACHT","PERSONAL_WATERCRAFT","STANDARD_PROPERTY","CONTRACTORS_EQUIPMENT","WINDSTORM","SHORT_TERM_DISABILITY","LONG_TERM_DISABILITY","LONG_TERM_CARE"]},"effective_date":{"type":["string","null"],"description":"The date that the coverage provided by the policy is in force.","format":"date-time"},"expiry_date":{"type":["string","null"],"description":"The date that the coverage provided by the policy is no longer in force.","format":"date-time"},"renewal_date":{"type":["string","null"],"description":"The date that the coverage provided by the policy will renew. This will be the effective date of the new term.","format":"date-time"},"canceled_date":{"type":["string","null"],"description":"The date that the policy was cancelled.","format":"date-time"},"total_premium_cents":{"type":["integer","null"],"description":"Total policy premium in cents"},"paid_in_full":{"type":["boolean","null"],"description":"Whether the policy is fully paid"},"amount_paid_cents":{"type":["integer","null"],"description":"Amount paid for the policy so far in cents"},"amount_due_cents":{"type":["integer","null"],"description":"Amount left to pay for the policy in cents"},"total_estimated_annual_premium_cents":{"type":["integer","null"],"description":"Total estimated annual premium, in cents (Workers' Compensation)"},"total_minimum_premium_cents":{"type":["integer","null"],"description":"Total minimum premium, in cents (Workers' Compensation)"},"total_deposit_premium_cents":{"type":["integer","null"],"description":"Total deposit premium, in cents (Workers' Compensation)"},"carrier_name":{"type":"string","description":"Insurance carrier identifier. This is not a user-friendly name."},"carrier_friendly_name":{"type":["string","null"],"description":"Insurance carrier name. This is a user-friendly name."},"status":{"type":["string","null"],"enum":["ACTIVE","CANCELLED","EXPIRED","UNVERIFIED","PENDING_ACTIVATION","PENDING_CANCELLATION","RESCINDED","QUOTE"],"description":"Policy status"},"state":{"type":["string","null"],"description":"Policy jurisdiction, as a two-letter state code"},"limited_access":{"type":"boolean","description":"Whether the carrier provided policy detail access"},"form_of_business":{"type":["string","null"],"enum":["INDIVIDUAL","PARTNERSHIP","LIMITED_LIABILITY_COMPANY","S_CORPORATION","CORPORATION","JOINT_VENTURE","NOT_FOR_PROFIT_ORGANIZATION","TRUST"],"description":"Commercial policy form of business"},"deductible_cents":{"type":["integer","null"],"description":"Commercial policy deductible in cents"},"is_monoline":{"type":"boolean","description":"Indicates whether or not the account has a single policy"},"policy_check":{"type":["null","object"],"$ref":"#/components/schemas/PolicyCheck","description":"Policy check data containing verification status and detail verification information"},"dwellings":{"type":"array","uniqueItems":true,"description":"List of dwelling objects","items":{"$ref":"#/components/schemas/Dwelling"}},"locations":{"type":"array","uniqueItems":true,"description":"List of location objects","items":{"$ref":"#/components/schemas/Location"}},"vehicles":{"type":"array","description":"List of vehicle objects","uniqueItems":true,"items":{"$ref":"#/components/schemas/Vehicle"}},"commercial_named_insureds":{"type":"array","description":"List of commercial named insureds","uniqueItems":true,"items":{"$ref":"#/components/schemas/CommercialNamedInsured"}},"named_insureds":{"type":"array","description":"List of named insured objects","items":{"$ref":"#/components/schemas/NamedInsured"}},"additional_interests":{"type":"array","uniqueItems":true,"description":"List of additional interest objects","items":{"$ref":"#/components/schemas/AdditionalInterest"}},"life":{"$ref":"#/components/schemas/LifePolicy"},"forms_and_endorsements":{"type":"array","description":"List of forms and endorsements. Your plan must include policy forms in order to access this data in production. For more information, contact your Canopy Connect representative.","items":{"$ref":"#/components/schemas/PolicyForm"}},"is_telematics_enabled":{"type":["boolean","null"],"description":"Indicates whether Telematics is enabled for the policy (Auto policies only)"},"payment_frequency":{"type":["string","null"],"enum":["MONTHLY","QUARTERLY","SEMIANNUALLY","ANNUALLY"],"description":"Frequency of payments for this policy"},"last_payment_date":{"type":["string","null"],"description":"The date of the last payment","format":"date-time"},"premium_groups":{"type":"array","description":"List of premium groups","items":{"$ref":"#/components/schemas/PremiumGroup"}}}},"Address":{"title":"Address","allOf":[{"properties":{"address_id":{"type":"string","format":"uuid","description":"ID of the address"},"full_address":{"type":["string","null"],"description":"One-line address for convenience"},"address_nature":{"type":["string","null"],"enum":["MAILING","PHYSICAL","LIENHOLDER","INCIDENT_LOCATION","AGENCY_LOCATION","MORTGAGEE","ADDITIONAL_INTEREST"],"description":"The type of adress"}}},{"$ref":"#/components/schemas/EnrichmentPropertyData/properties/address"}],"type":"object"},"AnswerField":{"title":"AnswerField","type":"object","properties":{"consumer_flow_section_field_id":{"type":"string","format":"uuid","description":"ID of the field"},"label":{"type":"string","description":"Label of the field as displayed to the user"},"meta":{"type":"object","description":"Meta data for the field, including validation rules and display options. This varies based on the field type."},"type":{"type":"string","enum":["TEXT","NUMBER","BOOLEAN","DATE","FILE_UPLOAD"],"description":"Type of field"},"value":{"description":"Value of the field. Type varies based on the field type, and will be null if the field has not been answered. When `type` is `FILE_UPLOAD`, this is an array of file objects.","anyOf":[{"type":["string","number","boolean","null"]},{"type":"array","items":{"$ref":"#/components/schemas/FileUpload"}}]}}},"AnswerSection":{"title":"AnswerSection","type":"object","properties":{"consumer_flow_section_id":{"type":"string","format":"uuid","description":"ID of the section"},"fields":{"type":"array","description":"The fields contained in the section","items":{"$ref":"#/components/schemas/AnswerField"}}}},"FileUpload":{"title":"FileUpload","type":"object","properties":{"name":{"type":"string","description":"Original filename of the uploaded file"},"size":{"type":"number","description":"Size of the file in bytes"},"type":{"type":"string","description":"MIME type of the file, e.g. `application/pdf`"},"file_id":{"type":"string","format":"uuid","description":"ID of the uploaded file"},"download_url":{"type":"string","description":"The API endpoint URL from which the file can be downloaded","format":"uri"}}},"Agent":{"title":"Agent","type":"object","properties":{"agent_id":{"type":"string","format":"uuid","description":"A unique identifier for the Agent."},"email":{"type":"string","description":"Agent's email","format":"email"},"first_name":{"type":"string","description":"Agent's first name"},"last_name":{"type":"string","description":"Agent's last name"},"role":{"type":"string","enum":["ADMIN","AGENT"],"description":"Agent's Role"}}},"AgentInfo":{"title":"AgentInfo","type":"object","properties":{"agent_info_id":{"type":"string","description":"ID of the AgentInfo","format":"uuid"},"address_id":{"type":["string","null"],"description":"Address ID where the agent/agency is located","format":"uuid"},"agency_name":{"type":["string","null"],"description":"Name of the agency (agency_name or agent_full_name required)"},"agent_full_name":{"type":["string","null"],"description":"Name of the agent (agency_name or agent_full_name required)"},"phone_number":{"type":["string","null"],"description":"Phone number for the agent/agency"},"email":{"type":["string","null"],"description":"Email for the agent/agency"},"policy_ids":{"type":"array","description":"Policy ID's associated to the agent","items":{"type":"string","format":"uuid"}}}},"Driver":{"title":"Driver","type":"object","properties":{"driver_id":{"type":"string","format":"uuid","description":"ID of the driver"},"first_name":{"type":["string","null"],"description":"First name of driver"},"middle_name":{"type":["string","null"],"description":"Middle name of driver"},"last_name":{"type":["string","null"],"description":"Last name of driver"},"drivers_license":{"type":["string","null"],"description":"Driver's license number"},"drivers_license_state":{"type":["string","null"],"description":"State of Driver's license"},"date_of_birth_str":{"type":["string","null"],"description":"Driver's date of birth"},"gender":{"$ref":"#/components/schemas/WebhookBody/properties/data/anyOf/0/properties/updates/items/anyOf/3/properties/data/properties/gender","description":"Driver's gender"},"marital_status":{"$ref":"#/components/schemas/WebhookBody/properties/data/anyOf/0/properties/updates/items/anyOf/3/properties/data/properties/marital_status","description":"Driver's marital status"},"relationship_to_insured":{"type":["string","null"],"enum":["INSURED","SPOUSE","BROTHER","SISTER","FATHER","MOTHER","PARENT","DAUGHTER","SON","CHILD","RELATIVE","DOMESTIC_PARTNERSHIP"],"description":"Relationship to the insured"},"age":{"type":["integer","null"],"description":"Driver's age"},"age_on_date":{"type":["string","null"],"description":"Date reference for driver's age"},"education":{"$ref":"#/components/schemas/WebhookBody/properties/data/anyOf/0/properties/updates/items/anyOf/3/properties/data/properties/education","description":"Driver's education"},"occupation":{"type":["string","null"],"description":"Driver's occupation"},"age_licensed":{"type":["integer","null"],"description":"Age at which driver was licensed"}}},"Document":{"title":"Document","type":"object","properties":{"document_id":{"type":"string","format":"uuid","description":"ID of the document"},"title":{"type":"string","description":"Title of Document"},"date_added":{"type":["string","null"],"description":"Effective date of Document","format":"date-time"},"document_type":{"type":["string","null"],"enum":["INSURANCE_APPLICATION","INSURANCE_BINDER","DECLARATIONS","ENDORSEMENT","INSURANCE_ID_CARD","VERIFICATION_OF_INSURANCE","LOSS_RUN","ESIGN_PACKET","NOTICE_OF_CANCELLATION","CANCELLATION","NONRENEWAL_NOTICE","ESIGNATURE","QUOTE","NOTES"],"description":"Type of Document"},"policy_id":{"type":["string","null"],"description":"Policy Id that the document belongs to","format":"uuid"},"mime_type":{"enum":["application/pdf","image/jpeg"],"description":"The file type of the Document"},"download_url":{"type":"string","description":"The API endpoint URL from which the document can be downloaded","format":"uri"}}},"EnrichmentDriverLicense":{"title":"EnrichmentDriverLicense","type":"object","properties":{"driver_license_id":{"type":"string","format":"uuid","description":"Canopy Connect Driver License lookup ID."},"driver_license":{"title":"EnrichmentDriverData","type":"object","properties":{"first_name":{"type":"string","description":"The first name of the person."},"middle_name":{"type":["string","null"],"description":"The middle name of the person."},"last_name":{"type":"string","description":"The last name of the person."},"date_of_birth_str":{"type":["string","null"],"description":"The date of birth of the person."},"drivers_license":{"type":["string","null"],"description":"The driver's license number."},"drivers_license_state":{"type":["string","null"],"description":"The state where the driver's license was issued."},"gender":{"type":["string","null"],"description":"The reported gender of the driver."},"marital_status":{"type":["string","null"],"description":"The marital status of the driver."}}}}},"EnrichmentDrivingRecordIq":{"title":"EnrichmentDrivingRecordIq","type":"object","properties":{"driving_record_iq_id":{"type":"string","format":"uuid","description":"Canopy Connect Driving Record IQ lookup ID."},"driving_record_iq":{"type":"object","properties":{"status":{"type":["string","null"],"enum":["CLEAN","NO_EVIDENCE","MINOR_VIOLATIONS","MAJOR_VIOLATIONS"]},"minor_violations":{"type":"integer","default":0},"last_minor_violation_date_str":{"type":["string","null"]},"major_violations":{"type":"integer","default":0},"last_major_violation_date_str":{"type":["string","null"]}}}}},"EnrichmentHousehold":{"title":"EnrichmentHousehold","type":"object","properties":{"household_id":{"type":"string","format":"uuid","description":"Canopy Connect Household lookup ID"},"drivers":{"type":"array","items":{"$ref":"#/components/schemas/EnrichmentDriverLicense/properties/driver_license"}},"vehicles":{"type":"array","items":{"title":"EnrichmentVehicleData","type":"object","properties":{"vin":{"type":["string","null"],"description":"The VIN of the vehicle."},"year":{"type":["integer","null"],"description":"The model year of the vehicle."},"make":{"type":["string","null"],"description":"The make of the vehicle."},"model":{"type":["string","null"],"description":"The model of the vehicle."},"series":{"type":["string","null"],"description":"The series of the vehicle."},"series2":{"type":["string","null"],"description":"The series2 of the vehicle."},"type":{"type":["string","null"],"description":"The type of the vehicle, based on state registration."},"ownership_type":{"type":["string","null"],"enum":["OWN","FINANCE","LEASE"],"description":"The ownership type of the vehicle."},"lien_holder":{"type":["string","null"],"description":"The lienholder of the vehicle."},"purchase_date":{"type":["string","null"],"format":"date-time","description":"The purchase date of the vehicle."}}}}}},"EnrichmentPropertyData":{"title":"EnrichmentPropertyData","type":"object","properties":{"address":{"title":"Address","type":"object","properties":{"country":{"type":["string","null"],"description":"Country of Address"},"number":{"type":["string","null"],"description":"House or street number of Address"},"street":{"type":["string","null"],"description":"Name of the street without directional or type qualifier"},"type":{"type":["string","null"],"description":"Abbreviated street type, eg. Rd, St, Ave, etc"},"city":{"type":["string","null"],"description":"City of Address"},"state":{"type":["string","null"],"description":"State of Address, as a two-letter state code"},"sec_unit_type":{"type":["string","null"],"description":"The type of unit"},"sec_unit_num":{"type":["string","null"],"description":"The number of the unit (may not be numeric)"},"zip":{"type":["string","null"],"description":"Zipcode of Address"},"prefix":{"type":["string","null"],"description":"Directional prefix for the street, such as N, NE, E, etc. A given prefix should be one to two characters long."}}},"data":{"title":"PropertyData","type":"object","properties":{"apn":{"type":["string","null"],"description":"The Assessor's Parcel Number of the dwelling"},"class":{"type":["string","null"],"enum":["AGRICULTURAL","AMUSEMENT_RECREATION","APARTMENT","COMMERCIAL","COMMERCIAL_CONDOMINIUM","CONDOMINIUM_RESIDENTIAL","DUPLEX_TRIPLEX_QUADPLEX","EXEMPT","FINANCIAL_INSTITUTION","HOSPITAL","HOTEL_MOTEL","INDUSTRIAL","INDUSTRIAL_HEAVY","INDUSTRIAL_LIGHT","MISCELLANEOUS","OFFICE_BUILDING","PARKING","RETAIL","SERVICE","SINGLE_FAMILY_RESIDENCE_TOWNHOUSE","TRANSPORT","UTILITIES","VACANT"],"description":"The class of the dwelling"},"sub_type":{"type":["string","null"],"enum":["AGRICULTURE_FARMING","COMMERCIAL","INDUSTRIAL","OTHER","OTHER_UNKNOWN","PUBLIC_WORKS","RESIDENTIAL","VACANT_LAND"],"description":"The sub type of the dwelling"},"year_built":{"type":["integer","null"],"description":"The year the dwelling was built"},"construction_type":{"type":["string","null"],"enum":["A_FRAME","ADOBE","ALUMINUM_FRAME","ALUMINUM_SIDING","ALUMINUM_VINYL","ARCHED_DOME","BLOCK_BRICK","BLOCK_METAL","BLOCK_STEEL","BRICK","BRICK_CINDER_BLOCK","BRICK_CONCRETE","BRICK_FRAME","BRICK_METAL","BRICK_STEEL","BRICK_STONE","BRICK_STUCCO","CINDER_BLOCK","CLAPBOARD","COMBINATION","CONCRETE","CONCRETE_BLOCK","CONCRETE_MASONRY","CONCRETE_STEEL","CUSTOM","DOME","FLEXIBLE_FLEXICORE","FRAME","FRAME_MASONRY","FRAME_STEEL","FRAME_STUCCO","GLASS","HEAVY","LIGHT","LOG","MANUFACTURED_MODULAR","MASONRY","MASONRY_TILT_UP","METAL","NONE","POLE_FRAME","PREFAB_METAL","STEEL","STEEL_MASONRY","STEEL_STUCCO","STEEL_WOOD","STONE_VENEER","STONE_ROCK","STUCCO","TILT_UP","TILT_UP_BRICK_METAL","TILT_UP_CONCRETE","TYPE_NOT_SPECIFIED","TYPE_UNKNOWN","WOOD","WOOD_FRAME","WOOD_FRAME_CONCRETE_BLOCK","WOOD_FRAME_METAL","WOOD_BRICK","WOOD_STEEL","WOOD_STONE","WOOD_STUCCO"],"description":"The construction material used to build the dwelling"},"wall_type":{"type":["string","null"],"enum":["$2X2_FRAME","$2X3_FRAME","$2X4_FRAME","$2X6_FRAME","$8_INCH_PAINT","ADOBE","ALUMINUM_LAP","ALUMINUM_SIDING","ALUMINUM_VINYL","ASBESTOS","ASBESTOS_FRAME","ASPHT_SHINGLE","BAKED_ENAMEL","BAT_BOARD","BEVEL_FINISHING_STYLE","BLOCK","BLOCK_MASONRY","BOARD_BATTEN","BRICK","BRICK_FRAME_STONE","BRICK_VENEER","BRICK_STONE_BRICK_AND_OR_STONE","BRICK_WOOD","BUTTRESSED","CEDAR","CERAMIC_TILE","CHANNEL","CINDER_BLOCK","CLAY_TILE","COMB","COMBINATION","COMPOSITION_COMPOSITE","CONCRETE","CONCRETE_BLOCK","CONCRETE_BLOCK_STUCCO","CONCRETE_TILE","CONCRETE_CINDER_BLOCK","CURTAIN","DIAGONAL","DROP","EIFS_SYNTHETIC_STUCCO","FARM_SINGLE","FIBER_CEMENT_SIDING_HARDI_BOARD_HARDI_PLANK","FRAME_BRICK","FRAME_SIDING","FRAME_ALUMINUM","FRAME_MASONRY","FRAME_MASONRY_VENEER","FRAME_SHINGLE_SIDING","FRAME_STONE","FRAME_STUCCO","FRAME_VINYL","FRAME_WOOD","GLASS","HARDWOOD_SIDING","HORIZONTAL","LAP","LOG_1_2_ROUND","LOGS","MARBLE","MARBLECRETE","MASONITE","MASONRY_STUCCO","METAL","METAL_SIDING","MODULAR","NONE","NOT_AVAILABLE","NP","OTHER","OTHER_NOT_CLASSIFIED","PANEL","PAPER","PLYWOOD","POLE","PRE_CAST","PRECAST_CONCRETE_PANEL","PREFAB_WOOD","PROTECTIVE_TREATMENT","RIBBED","RIBBED_ALUMINUM","RUSTIC","SHAKE","SHINGLES","SIDING","SIDING_ALUM_VINYL","SIDING_NOT_SPECIFIED","SINGLE_WALL","SLUMP_BLOCK","STEEL_PANEL","STONE","STONE_VENEER","STONE_WOOD_FRAME","STRUT_FRAME","STUCCO","T111","TBD","TILE","TONG_GROOVE","UNKNOWN","VERTICAL","VINYL","WOOD","WOOD_FRAME","WOOD_FRAME_SIDING","WOOD_SHINGLE","WOOD_SIDING","WOOD_STEEL_STUD"],"description":"The wall type of the dwelling"},"foundation_type":{"type":["string","null"],"enum":["BLOCK","BLOCK_UNSPECIFIED","BRICK","BRICK_UNSPECIFIED","CLOSED_PIERS","CONCRETE","CONCRETE_BEAM_SLAB","CONCRETE_BLOCK","CONCRETE_BEAM","CONTINUOUS_FOOTING","CONTINUOUS_WALL","CROSS_BRIDGED_WALLS","DIRT_EARTH","FOOTING","FOOTING_CONTINUOUS_STRIP","FOOTING_SPREAD","GRADE_BEAM","MASONRY","MASONRY_UNSPECIFIED","MAT_RAFT_FOUNDATION","MUD_SILL","NO_FOUNDATION","NONE","NOT_STATED","NP","OPEN_PIERS","PIER","PIER_POST_CONCRETE","PIER_POST_WOOD","PIER_POST_BEAM","PILE","PILE_CONCRETE","PILE_END_BEARING","PILE_FRICTION","PILE_WOOD_TIMBER","PILINGS","PIPE_IRON","PRE_FAB","RAISED","RAISED_UNSPECIFIED","RAISED_BASEMENT","RAISED_CRAWLSPACE","RETAINING_WALL","SLAB","SPREAD_FOOTING","STANDARD","STEEL","STEM_WALL","STEM_WALL_CRAWLSPACE","STONE","STONE_UNSPECIFIED","TYPE_NOT_SPECIFIED","TYPE_UNKNOWN","TYPE_UNKNOWN_BASEMENT","TYPE_UNKNOWN_CRAWLSPACE","TYPE_UNKNOWN_PART_BASEMENT","UNAVAILABLE","UNKNOWN","WOOD","WOOD_UNSPECIFIED"],"description":"The foundation type of the dwelling"},"frame_type":{"type":["string","null"],"enum":["ALUMINUM_FRAME","CONCRETE","CONCRETE_STEEL","CUSTOM","FIRE_RESISTANT","MASONRY","PRE_FAB","STEEL","TYPE_UNKNOWN","WOOD"],"description":"The frame type of the dwelling"},"roof_cover":{"type":["string","null"],"enum":["ALUMINUM","ASBESTOS","ASPHALT","AVERAGE_COMPOSITION_SHINGLE","BAR_TILE_SPANISH_STYLE","BI_METAL_TWO_PLY","BUILTUP_LAYERED_ASPHALT","CLAY_TILE","COMPOSITION_SHINGLE","CONCRETE","CONCRETE_TILE","ENAMEL","FIBERGLASS","GALVANIZED","GYPSUM","HEAVY_COMPOSITION_SHINGLE","LIGHT_COMPOSITION_SHINGLE","MASONITE_CEMENT_SHAKE","MEDIUM_SHAKE","METAL","NOT_AVAILABLE","NP","OTHER_NOT_CLASSIFIED","ROCK_GRAVEL","ROLL_COMPOSITION_ROLLED_MINERAL_ROOF","ROLL_PAPER_ROLLED_SMOOTH_ROOF","ROLL_TAR_GRAVEL","RUBBER_ELASTOMETRIC","SHAKE","SHINGLE","SLATE","SLATE_TILE","SYNTHETIC_TILE","TILE","UNKNOWN","UNKNOWN_OR_NOT_PROVIDED","URETHANE","WOOD","WOOD_SHAKE_SHINGLE","WOOD_SHINGLE"],"description":"The roof cover type of the dwelling"},"roof_shape":{"type":["string","null"],"enum":["A_FRAME","ARCHED","BARN","BARREL","BOWSTRING_TRUSS","BUBBLE","BUTTERFLY","CANOPY","CATHEDRAL_CLERESTORY","COMPLEX_CUSTOM","CONTEMPORARY","DORMER","FLAT","FRAME","GABLE","GABLE_HIP","GAMBREL","GAMBREL_MANSARD","GEODESIC_DOME","HIP","MANSARD","MONITOR","OTHER","PITCHED","PRESTRESS_CONCRETE","PYRAMID","REINFORCED_CONCRETE","RIGID_FRM_BAR_JT","SAWTOOTH","SHED","STEEL_FRM_TRUSS","SWISS_CHALET_ALPINE","WOOD_TRUSS"],"description":"The shape of the dwelling's roof"},"cooling_type":{"type":["string","null"],"enum":["AC_CENTRAL","AC_CENTRAL_AND_UNIT","AC_CENTRAL_PARTIAL","AC_COMMERCIAL_AC","AC_DUAL_UNIT","AC_EVAPORATIVE","AC_HEAT_PUMP","AC_NONE","AC_OFFICE_ONLY","AC_PACKAGE_ROOF","AC_PARTIAL","AC_REFRIGERATION","AC_REFRIGERATION_EVAPORATION","AC_SEPARATE_SYSTEM","AC_SOLAR","AC_SPLIT_SYSTEM","AC_WALL_UNIT","AC_WALL_WINDOW_UNIT","AC_WINDOW_UNIT","BYPASS","CENTRAL","CHILLED_WATER","EVAPORATIVE","EVAPORATIVE_WALL_UNIT","FAN_COOLING","GEO_THERMAL","NONE","NOT_AVAILABLE","NOT_PROVIDED","OTHER","PACKAGE","PARTIAL","REFRIGERATION_WALL_UNIT","REFRIGERATOR","REFRIGERATOR_EVAPORATIVE","SOLAR","UNKNOWN","WALL_UNIT","WINDOW_AC","WINDOW_EVAPORATIVE","YES"],"description":"The type of cooling the dwelling has"},"heating_type":{"type":["string","null"],"enum":["BASEBOARD","CEILING_CABLE","CEILING_FURNACE","CENTRAL","COAL","CONVECTION","ELECTRIC","FIREPLACE","FLOOR_FURNACE","FLOOR_WALL_FURNACE","FORCED_AIR","FORCED_AIR_WITH_AIR_CONDITIONING","GAS","GEO_THERMAL","GRAVITY","HEAT_PUMP","HOT_WATER","NONE","NOT_AVAILABLE","NP","OIL","OTHER","PACKAGE","PARTIAL","PROPANE","RADIANT","SOLAR","SPACE","STEAM","STOVE","UNKNOWN","WALL_GAS","WOOD_FURNACE","YES","ZONE"],"description":"The type of heating the dwelling has"},"heating_fuel":{"type":["string","null"],"enum":["COAL","ELECTRIC","ELECTRIC_HOT_WATER","GAS","GEO_THERMAL","HEAT_PUMP","LIQUEFIED_PETROLEUM_GAS","NONE","NOT_AVAILABLE","NOT_PROVIDED","OIL","OTHER","PROPANE","SOLAR","SOLID","TYPE_UNKNOWN","WOOD"],"description":"The type of heating fuel the dwelling uses"},"energy_type":{"type":["string","null"],"enum":["ABOVE_STANDARD","AVAILABLE","AVERAGE","BELOW_STANDARD","DEVELOPED","FAIR","GOOD","NO","NOT_AVAILABLE","NP","OVERHEAD","POOR","STANDARD","UNDERGROUND","UNKNOWN","YES"],"description":"The type of energy supplied to the dwelling"},"sewer_type":{"type":["string","null"],"enum":["BYPASS","CESSPOOL","COMMERCIAL","DEVELOPED","MUNICIPAL","NONE","NOT_AVAILABLE","NP","PRIVATE","PUBLIC","PUBLIC_SEPTIC","SANITARY","SEPTIC","STORM","UNKNOWN","YES"],"description":"The type of sewer the dwelling has"},"building_shape":{"type":["string","null"],"enum":["OTHER","COMPLEX","C_SHAPED","IRREGULAR","L_SHAPED","RECTANGLE","SLIGHTLY_IRREGULAR","SQUARE","VERY_IRREGULAR"],"description":"The shape of the dwelling"},"construction_quality":{"type":["string","null"],"enum":["AVERAGE","CABIN","EXCELLENT","FAIR","GOOD","HIGH_QUALITY_RESIDENTIAL","LOW","NOT_AVAILABLE","NP","OTHER","UNKNOWN","VERY_GOOD"],"description":"The construction quality of the dwelling"},"has_fireplace":{"type":["boolean","null"],"description":"Whether the dwelling has a fireplace"},"num_fireplaces":{"type":["integer","null"],"description":"The number of fireplaces the dwelling has"},"fireplace_type":{"type":["string","null"],"enum":["$1_STORY_BRICK","$2_STORY","$2_STORY_BRICK","BACKED","CEILING_HIGH_BRICK","CUSTOM","DOUBLE","ELECTRIC","FLUE_ONLY","GLASS_LOG","HEATER_CIRCLE","MASONRY","NOT_AVAILABLE","NOT_PROVIDED","NP","PREFAB","RAISED_HEARTH","SEE_THRU","SINGLE","STACKED","WOOD_STOVE","YES"],"description":"The type of fireplace the dwelling has"},"has_pool":{"type":["boolean","null"],"description":"Whether the dwelling has a pool"},"pool_type":{"type":["string","null"],"enum":["OTHER","ABOVE_GROUND_POOL","ADULT_KIDDIE_POOLS","BUMPER_BOAT","CONCRETE_VINYL","FISH_POND","HEATED_POOL_GUNITE","INDOOR_POOL","IN_GROUND_POOL","IN_GROUND_VINYL_POOL","KIDDIE_PLAY_POOL","LAGOON","LAP_POOL","MULTIPLE_POOLS_UNSPECIFIED","NO_POOL","NOT_STATED","POOL_SPA_WITH_DECK","POOL_CONCRETE_WITH_CABANA_POOL_HOUSE","POOL_CONCRETE_WITH_EQUIPMENT","POOL_CONCRETE_FENCED","POOL_GUNITE_WITH_HOT_TUB_SPA","POOL_GUNITE_WITH_PATIO","POOL_GUNITE_ENCLOSED","POOL_GUNITE_KIDNEY_SHAPED","POOL_IN_GROUND_WITH_HOT_TUB_SPA","POOL_UNSPECIFIED_WITH_COVER","POOL_UNSPECIFIED_WITH_DECK","POOL_UNSPECIFIED_ENCLOSED","POOL_UNSPECIFIED_FENCED","POOL_UNSPECIFIED_HEATED","POOL_VINYL_WITH_DECK","POOL_VIN

# --- truncated at 32 KB (306 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canopy/refs/heads/main/openapi/canopy-openapi.json