canonical: https://jentic.com/apis/joinroot.com/joinroot

# Joinroot Root Bind API

Root Insurance's Bind API is the partner-facing surface that lets brokers, agencies, and embedded-insurance platforms quote, finalize, and bind auto insurance policies in Root's system. The API covers the full quote lifecycle - creating quotes, fetching available coverages and rules by state, finalising and binding policies, and managing prefill reports, payment methods, and legal document affirmations. It is the right tool when a partner workflow needs to issue Root policies end-to-end without redirecting customers into Root's own UI.

## For AI agents

Quote, finalise, and bind Root auto insurance policies, retrieve coverage rules by state, manage prefill reports, payment methods, and legal document affirmations on behalf of partner agencies.

## Scope

Does not handle claims processing, telematics scoring, or post-bind policy servicing changes - use for quote-to-bind workflows, policy summaries, and agency-level reporting only.

## Capabilities

- Create and update auto insurance quotes with applicant and vehicle data
- Retrieve available coverages and coverage rules for a quote or by state
- Generate prefill reports to pre-populate quotes from limited applicant input
- Finalize a quote and bind an active policy through the bind endpoint
- Affirm legal documents required to complete a binding transaction
- Manage payment methods and inspect policy payment information
- List agency-level quotes, policies, and agent rosters for reporting

## Use cases

### Embedded auto insurance quoting

Partners selling cars, financial products, or telematics services can offer Root auto insurance inline in their checkout. The API supports the full path: validate the address, create a quote, fetch available coverages and rules for the applicant's state, finalize the chosen coverages, and bind the policy. End-to-end the flow can complete in a single session without leaving the partner's UI.

Example prompt: Call POST /quotes with applicant data, GET `/quotes/{quoteId}/coverages` to fetch options, POST `/quotes/{quoteId}/finalize`, then POST `/quotes/{quoteId}/bind` to issue the policy

### Agency portal reporting

Independent agencies that produce business through Root can build internal reporting dashboards using the agency-scoped list endpoints. GET `/agency/quotes` and GET `/agency/policies` surface volume across the book, and GET `/agency/agents/{agentId}/policies` isolates production by individual agent. This lets agency principals run loss-ratio and conversion analysis without exporting CSVs from Root's portal.

Example prompt: Call GET `/agency/quotes` and GET `/agency/policies`, then aggregate by agent_id to produce a weekly conversion report for the agency principal

### Prefill-driven low-friction quoting

Consumer-facing partners can drastically shorten quote forms by using prefill reports - POST /prefill takes minimal applicant input and returns enriched data that pre-populates the quote. This reduces drop-off on insurance forms which historically ask for many fields. The returned prefillId can then be referenced when creating the actual quote.

Example prompt: Call POST /prefill with the applicant's name and address, then POST /quotes referencing the returned prefillId to create a fully populated quote

### Agent-orchestrated bind via Jentic

An AI assistant integrated into a partner agency's CRM can drive the full quote-to-bind sequence using Jentic. The agent calls Jentic operations in order - quote, coverages, finalize, bind - with the partner's stored bearer token injected at execution. This keeps the bearer credential out of the agent's reasoning context while still letting the assistant complete the binding workflow.

Example prompt: Use Jentic to search 'create a Root quote', then chain GET coverages, POST finalize, and POST bind operations using the agency's stored bearer token

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/quotes` | Create a new auto insurance quote |
| GET | `/quotes/{quoteId}/coverages` | Get available coverages for a quote |
| POST | `/quotes/{quoteId}/finalize` | Finalize a quote |
| POST | `/quotes/{quoteId}/bind` | Bind a policy |
| POST | `/prefill` | Create a prefill report |
| GET | `/policy/{policyId}` | Get policy summary |
| POST | `/legal-documents/{documentId}/affirm` | Affirm a legal document |
| GET | `/agency/quotes` | List agency quotes |

## Key resources

- **Quotes** — Create, update, finalize, and bind insurance quotes
- **Coverages** — Retrieve coverages and coverage rules per state or quote
- **Policies** — Inspect policy summaries, payment info, and documents
- **Agency** — List quotes, policies, and agents for reporting
- **Prefill** — Generate prefill reports for low-friction quoting
- **Legal Documents** — List and affirm legal documents required for binding

## Why Jentic

- **Setup:** Wiring the Root Bind API by hand means learning its bearer auth, refreshing the tokens it issues, and threading quote and policy ids through the quote-to-bind flow yourself. Through Jentic you install once, import the Root Bind API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Root puts the quote id in the URL path (`/quotes/{quoteId}/...`), so a rule can pin your agent to one quote: it can read coverages, finalize, and bind that quote and nothing else. You choose the operations it may call, so ones like affirming legal documents or reading agency reporting are not included unless you add them.
- **Credential handling:** Your Root bearer token and its refresh token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Root insurance quote' or 'bind a policy', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Plaid API** — Bank account verification and payment method validation alongside Root's bind flow
- **Shopify API** — Pair Root quoting with Shopify checkout to embed auto insurance in vehicle commerce
- **HubSpot API** — Sync Root quotes and policies into HubSpot CRM for agency follow-up

## FAQ

### What authentication does the Root Bind API use?

The Root Bind API uses HTTP bearer authentication. Tokens are obtained via POST `/auth/token` and refreshed via POST `/auth/token/refresh.` Jentic stores the token encrypted and refreshes it automatically so the bearer never enters the agent's context.

### Can I bind a Root policy end-to-end through the API?

Yes. The flow is POST /quotes to create the quote, GET `/quotes/{quoteId}/coverages` to fetch options, POST `/quotes/{quoteId}/finalize` to lock selections, then POST `/quotes/{quoteId}/bind` to issue the policy. Legal affirmations and payment method setup are required before bind can succeed.

### What environment does the base URL point to?

The published spec uses the partner-testing host (app.partner-testing.joinroot.com). Production hosts are issued to partners after onboarding - switch the base URL after partner certification, the operations remain identical.

### How do I quote a Root policy through Jentic?

Search Jentic for 'create a Root insurance quote', load POST /quotes, and execute with the applicant payload. Jentic injects the partner bearer token and returns the new quoteId for follow-on calls. Get started with Jentic One, the self-hosted execution layer.

### Are coverage rules state-specific?

Yes. Auto insurance coverages and rules vary by US state. Use GET `/coverages/by-state/{state}` and GET `/coverage-rules/by-state/{state}` before quoting to surface only the options legal in that state, or GET `/quotes/{quoteId}/coverages` once a quote is created.

### Can I report on agency-level production?

Yes. GET `/agency/quotes`, GET `/agency/policies`, and the per-agent variants (GET `/agency/agents/{agentId}/quotes` and /policies) return the agency's book filtered by agent. This is the surface to use for production dashboards and conversion reporting.

### Can I limit what my agent is allowed to do with the Root Bind API?

Yes. Because Jentic One is self-hosted, your own rules decide which Root Bind operations and credentials the agent may use, and it can call nothing else. Root puts the quote id in the URL path (`/quotes/{quoteId}/...`), so a rule can pin the agent to a single quote, letting it read coverages, finalize, and bind that quote only. Operations like affirming legal documents or reading agency reporting (GET `/agency/quotes`) stay off-limits unless you explicitly grant them.
