# Bridgeline API > Price premium financing for your clients from your own systems, and send them an interactive quote. - [Bridgeline API](https://docs.bridgelinepf.com/index.md): Price premium financing from your own systems, and send your client an interactive quote. - [Quickstart](https://docs.bridgelinepf.com/quickstart.md): Your first quote in five minutes: get a key, price a policy, read the options and send your client the link. - [Authentication](https://docs.bridgelinepf.com/authentication.md): API keys, the Bearer header, key types and scopes, and which broker a request acts as. - [Quote in one call](https://docs.bridgelinepf.com/guides/quote-in-one-call.md): Price several policies as one loan, with taxes and fees and your own ids, and read every part of the response. - [Send your client the interactive quote](https://docs.bridgelinepf.com/guides/hosted-quote-page.md): Every quote comes with a page your client can open, compare options on and say yes from. Here's how it works and how their answer reaches you. - [Choosing an option in code](https://docs.bridgelinepf.com/guides/choosing-an-option.md): Option ids are predictable, so a house rule like "25% down over 10 months" is a lookup. Here's the lookup that never misses. - [Coverage types](https://docs.bridgelinepf.com/guides/coverage-types.md): How to describe what each policy covers, and how to map your system's line names onto ours. - [Idempotency and retries](https://docs.bridgelinepf.com/guides/idempotency.md): Send an Idempotency-Key with every write, and you can retry any failure without doing anything twice. - [Rate limits](https://docs.bridgelinepf.com/guides/rate-limits.md): How many requests each key and agency can make, the headers that tell you where you stand, and what to do at the limit. - [Handling errors](https://docs.bridgelinepf.com/guides/errors.md): One error shape across the API, stable codes to branch on, and every problem in a request reported at once. - [Indicative quotes](https://docs.bridgelinepf.com/concepts/indicative-quotes.md): A quote is a priced snapshot: what we'd offer for this deal today. It isn't a price lock or a commitment. - [Assumptions and warnings](https://docs.bridgelinepf.com/concepts/assumptions.md): What we filled in because you didn't send it, and what to check before binding. Both point at the exact field. - [Eligibility](https://docs.bridgelinepf.com/concepts/eligibility.md): Whether we can finance a deal, every rule we checked, and why a deal failed. An ineligible deal is an answer, not an error. - [Binding readiness](https://docs.bridgelinepf.com/concepts/binding-readiness.md): What the deal still needs before it can bind. It never stops you quoting or sharing the quote. - [Test and live mode](https://docs.bridgelinepf.com/concepts/test-and-live-mode.md): Test keys give you a parallel world inside your agency, with real pricing and no real-world effects. Bridgeline turns test mode on for each agency. - [Conventions](https://docs.bridgelinepf.com/concepts/conventions.md): Formats, ids, nulls, your own identifiers, and how the API changes without breaking you. - [Changelog and versioning](https://docs.bridgelinepf.com/changelog.md): What changed in the API, and the promises we keep when we change it. - [Coming soon](https://docs.bridgelinepf.com/roadmap.md): What we're building next. None of it is available yet, and details may change. - [API reference](https://docs.bridgelinepf.com/api-reference/introduction.md): Every endpoint, field and response, generated from our OpenAPI spec. - [Create a quote](https://docs.bridgelinepf.com/api-reference/quotes/create.md): Prices one or more policies financed together as one loan and returns every down payment × term option we can offer. A deal we cannot finance still returns 201, with eligibility.status "ineligible", its reasons and no options; 422 is only for malformed input. hosted_url is returned only here. - [Retrieve a quote](https://docs.bridgelinepf.com/api-reference/quotes/retrieve.md): Returns the stored snapshot (never re-priced), including whether the insured has said they are interested. status is active until expires_at, then expired; interested once the insured picks an option on the hosted page (selected_option_id); interest then carries their note and whether we emailed the… - [Get a new hosted link for a quote](https://docs.bridgelinepf.com/api-reference/quotes/hosted-link.md): Revokes the quote's current hosted page link immediately and returns a new one. Use it when a link was sent to the wrong person, or to get a link again after creating the quote (GET returns hosted_url null). The quote's expires_at never changes; an expired quote is a 409 QUOTE_EXPIRED. Retrying with… - [List coverage types](https://docs.bridgelinepf.com/api-reference/coverage-types.md): Every value coverages[].type accepts, with its definition, common aliases and flags. Requires no scope. - [Introspect the calling API key](https://docs.bridgelinepf.com/api-reference/whoami.md): Returns the agency, the key's default broker (the broker every request acts as unless a write names another with broker_email in its body), scopes and mode. Requires no scope; use it to verify a key. - [Simulate the insured saying they are interested (test mode)](https://docs.bridgelinepf.com/api-reference/test-helpers/quote-interest.md): Test-mode keys only. Does what the insured's "I'm interested" on the hosted page does: the quote becomes interested with this option and note. Nothing is emailed or posted anywhere; interest.broker_notification is skipped with reason test_mode. One time per quote, like the hosted page. A live key ge… - [Error codes](https://docs.bridgelinepf.com/errors.md): Every error code the API can return: what causes it and what to do. Codes are stable; we add new ones and never rename one. - [INVALID_REQUEST](https://docs.bridgelinepf.com/errors/INVALID_REQUEST.md): The request as a whole was refused before we read it, today only because the body is over 2 MB. - [INVALID_JSON](https://docs.bridgelinepf.com/errors/INVALID_JSON.md): The request body isn't valid JSON. - [VALIDATION_FAILED](https://docs.bridgelinepf.com/errors/VALIDATION_FAILED.md): The body is valid JSON but breaks the endpoint's rules. `details` lists every problem at once. - [INVALID_API_VERSION](https://docs.bridgelinepf.com/errors/INVALID_API_VERSION.md): The `Bridgeline-Version` header isn't a real date in `YYYY-MM-DD` form. - [IDEMPOTENCY_KEY_INVALID](https://docs.bridgelinepf.com/errors/IDEMPOTENCY_KEY_INVALID.md): The `Idempotency-Key` header isn't 1 to 255 printable ASCII characters. - [IDEMPOTENCY_KEY_REQUIRED](https://docs.bridgelinepf.com/errors/IDEMPOTENCY_KEY_REQUIRED.md): This endpoint requires an `Idempotency-Key` header. No current endpoint does. - [INVALID_PAGINATION](https://docs.bridgelinepf.com/errors/INVALID_PAGINATION.md): A list request's `limit` isn't a whole number from 1 to 100. No list endpoint exists yet. - [INVALID_API_KEY](https://docs.bridgelinepf.com/errors/INVALID_API_KEY.md): The API key is missing, malformed or not recognized. - [KEY_REVOKED](https://docs.bridgelinepf.com/errors/KEY_REVOKED.md): The API key has been revoked. - [KEY_EXPIRED](https://docs.bridgelinepf.com/errors/KEY_EXPIRED.md): The API key has passed its expiry date. - [API_ACCESS_NOT_ENABLED](https://docs.bridgelinepf.com/errors/API_ACCESS_NOT_ENABLED.md): API access isn't turned on for your agency. - [MISSING_SCOPE](https://docs.bridgelinepf.com/errors/MISSING_SCOPE.md): The API key lacks a scope this endpoint needs. - [BROKER_NOT_ACTIVE](https://docs.bridgelinepf.com/errors/BROKER_NOT_ACTIVE.md): The `broker_email` you sent isn't an active broker at your agency. - [ACTING_BROKER_NOT_ALLOWED](https://docs.bridgelinepf.com/errors/ACTING_BROKER_NOT_ALLOWED.md): A broker key can only act as its own broker. - [DEFAULT_BROKER_INACTIVE](https://docs.bridgelinepf.com/errors/DEFAULT_BROKER_INACTIVE.md): The API key's default broker is no longer active. - [TEST_MODE_NOT_ENABLED](https://docs.bridgelinepf.com/errors/TEST_MODE_NOT_ENABLED.md): Test mode isn't turned on for your agency, so its test keys are refused. - [TEST_MODE_ONLY](https://docs.bridgelinepf.com/errors/TEST_MODE_ONLY.md): A test helper was called with a live key. Test helpers need a test key. - [NOT_FOUND](https://docs.bridgelinepf.com/errors/NOT_FOUND.md): There's no object with this id that your key can see. - [METHOD_NOT_ALLOWED](https://docs.bridgelinepf.com/errors/METHOD_NOT_ALLOWED.md): The endpoint exists, but not with this HTTP method. - [QUOTE_EXPIRED](https://docs.bridgelinepf.com/errors/QUOTE_EXPIRED.md): The quote is past its `expires_at`, so it can't get a new link or a response. - [QUOTE_ALREADY_INTERESTED](https://docs.bridgelinepf.com/errors/QUOTE_ALREADY_INTERESTED.md): The test quote already has your client's response. A quote takes one response only. - [IDEMPOTENCY_KEY_REUSED](https://docs.bridgelinepf.com/errors/IDEMPOTENCY_KEY_REUSED.md): This `Idempotency-Key` was already used for a different request. - [IDEMPOTENCY_REQUEST_IN_PROGRESS](https://docs.bridgelinepf.com/errors/IDEMPOTENCY_REQUEST_IN_PROGRESS.md): The first request with this `Idempotency-Key` is still running. - [RATE_LIMITED](https://docs.bridgelinepf.com/errors/RATE_LIMITED.md): Too many requests: you're over a per-minute or daily limit. - [INTERNAL](https://docs.bridgelinepf.com/errors/INTERNAL.md): Something went wrong on our side. - [IDEMPOTENCY_RECORD_LOST](https://docs.bridgelinepf.com/errors/IDEMPOTENCY_RECORD_LOST.md): The original request with this key may have finished, but its response was lost. This key will never succeed. - [SERVICE_UNAVAILABLE](https://docs.bridgelinepf.com/errors/SERVICE_UNAVAILABLE.md): We can't price right now. Nothing was stored; retry shortly. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.