Requests
- Base URL:
https://portal.bridgelinepf.com/api. Every path starts with/v1. - HTTPS only. Bodies are JSON, sent with
Content-Type: application/json. A body larger than 2 MB is refused. - Auth:
Authorization: Bearer <key>. See authentication.
Formats
Money is a string so that no amount is ever rounded by a floating-point parser. Send
"46100.00", not 46100: a JSON number is rejected with a hint.
Rates are fractions everywhere: minimum_earned.rate: 0.25 means 25%, and so does down_payment_rate: 0.25. Sending 25 for a rate is rejected, with a hint to send 0.25.
Ids
Ids are opaque strings with a prefix that says what they are:
Apart from
opt_, don’t parse ids or assume anything about their contents. Treat a malformed id as you would any unknown one: the API answers 404.
Nulls and unknown fields
nullmeans “not provided”. In a request, a field you send asnullis the same as one you leave out. In a response,nullmeans there’s no value, such asselected_option_idbefore your client chooses.- Unknown request fields are rejected, with a “did you mean” hint. A typo never silently does nothing.
- Responses can gain fields. Your code should ignore fields it doesn’t know.
Your ids
Store your own identifiers on our objects, so you never need a mapping table.
Both come back exactly as you sent them, on every response.
metadata is {} when you sent none, and policies come back in the order you sent them, each with your metadata. Don’t put sensitive personal data in either.
Enums only grow
Values such asstatus, eligibility.status, coverage type, and assumption, warning and error codes can gain new members. We never rename or repurpose one. Write your code so an unknown value falls into a safe default, for example:
- an unknown quote
status: treat the quote as not usable; - an unknown coverage
type: treat it asother; - an unknown error
code: handle it by itstypeand HTTP status.