1. Rate
Olli
  • System
    • Confirm API connectivity
      GET
    • API health status
      GET
  • Programs
    • List programs available to the caller
      GET
    • Get program by ID
      GET
    • Get full detail on one program
      GET
  • Appetite
    • Search NAICS codes
      GET
    • Classifications for a NAICS code
      GET
    • Appetites for a classification
      GET
    • Full catalog for a classification
      GET
    • Appetite details (product-filtered)
      GET
  • Rate
    • Rate eligible programs for a risk
      POST
    • Sensitivity analysis across coverage options
      POST
  • Quote
    • List quote folios
      GET
    • Create a quote folio
      POST
    • View a quote folio (light — all programs)
      GET
    • Re-quote (new bindable, same group)
      POST
    • View one application (full — includes form schema + plan details)
      GET
    • Edit form_payload only
      POST
  • Bind
    • Bind quote requests
      POST
  • Policy
    • Get policy — full detail
      GET
    • Renewal payment
      POST
    • Cancel a policy
      POST
  • Schemas
    • Schemas
    • Response
    • Rates
  • Schemas
    • SuccessResponse
    • SuccessEnvelope
    • AttestationItem
    • ISO8601DateTime
    • ErrorResponse
    • ErrorEnvelope
    • BindQuotePayment
    • PingResponse
    • Pricing
    • Pagination
    • OffsetPagination
    • NaicsListResponse
    • PricingData
    • PricingNode
    • ValidationErrorEnvelope
    • BindQuoteItem
    • HealthResponse
    • CarrierRef
    • RateRequest
    • ProgramType
    • PagePagination
    • ClassificationListResponse
    • QuoteApplication
    • ProgramMarketing
    • PaginationWithPage
    • PolicyProgramNode
    • BindRequest
    • ProgramSummary
    • RateResult
    • CreateProgramTypeInput
    • PagePaginationWithMore
    • QuoteCarrierProgram
    • PlanDetails
    • ClassificationStub
    • PolicyCarrierNode
    • PolicyCustomer
    • ProgramEndorsement
    • MatrixRequest
    • UpdateProgramTypeInput
    • NaicsCode
    • QuoteFolio
    • ProgramNode
    • ClassificationFull
    • PolicyTermNode
    • PolicyBilling
    • ProgramOption
    • MatrixResult
    • ProgramListItem
    • Classification
    • CreateQuoteProgram
    • ProgramNodeFull
    • AppetiteItem
    • PolicySellerNode
    • PolicyDocumentAccess
    • ProgramTerm
    • Program
    • CreateClassificationInput
    • CreateQuoteRequest
    • CarrierNode
    • CatalogLimit
    • RateOption
    • PolicyCustomerNode
    • BoundPolicyReceipt
    • ProgramDetail
    • CreateProgramInput
    • UpdateClassificationInput
    • UpdateApplicationRequest
    • OptionItem
    • CatalogRule
    • AppliedOptions
    • PolicyInsuredItem
    • BindQuoteResult
    • ProductTypeEnum
    • UpdateProgramInput
    • AppetiteSummary
    • EndorsementItem
    • CatalogProductOption
    • PolicyLocationItem
    • BindSummary
    • RatingMethodEnum
    • AppetiteListItem
    • PaymentFrequency
    • CatalogEndorsement
    • PolicyEndorsementItem
    • BindResponseData
    • FormField
    • AppetiteCatalogEntry
    • PaymentOption
    • CatalogItem
    • PolicyCoverageItem
    • BindResponse
    • AppetiteDetail
    • DocumentItem
    • PolicyDocumentItem
    • BindResponseAllFailed
    • AppetiteRule
    • NoticeItem
    • NaicsWithClassificationsResponse
    • PolicyEventItem
    • ErrorResponse400
    • CreateAppetiteRuleInput
    • TermAndCondition
    • PolicyPaymentItem
    • ErrorResponseSimple
    • UpdateAppetiteRuleInput
    • FormSectionField
    • AppetiteListResponse
    • PolicyFull
    • AppetiteLimit
    • FormSection
    • CatalogResponse
    • AcceptedTerm
    • CreateAppetiteLimitInput
    • QuoteResponseProgramLight
    • Payment
    • UpdateAppetiteLimitInput
    • QuoteResponseProgramFull
    • PayBody
    • QuoteResponseLight
    • RecordedAcceptance
    • BillingConfig
    • PayResultToken
    • PayResultInvoiceAccount
    • PayResultCarrierCharge
    • PayResultFinalized
    • QuoteFolioCreated
    • CancelBody
    • CancelResult
    • CreateQuoteRatePayloadRequest
    • EditApplicationRequest
    • SystemPayload
    • FormPayload
  1. Rate

Rate eligible programs for a risk

POST
/v1/rate/{productType}
Submit risk data and receive pricing for every eligible program. Returns an array — one entry per program. Factor-rated programs include pricing; external programs return pricing: null.
Nothing is stored. Each call is a stateless price check.

Product type resolution#

1.
Exact code — TI, BOP, GL, DP, etc.
2.
Category slug — commercial (fans out across all types)
3.
Program slug — travel-insurance
4.
Payload fallback — reads program_type from body

program_id — promote and select#

Passing program_id promotes that program to position 0 with selected: true. All other eligible programs are still returned. To get only that program back, add limit: 1.

Re-rate pattern#

Pass program_id + response_mode: pricing to re-price a selected program after a coverage change. Returns { program_id, pricing, applied_options } only — no other fields.

Caching#

Hash of system_payload is the cache key. Repeat calls with identical payload return instantly.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Path Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Pricing computed. Array of eligible programs — one entry per program.
Bodyapplication/json

🟠400BadRequest
🟠400BadRequest
🟠401Unauthorized
🟠401Unauthorized
🔴500InternalError
🔴500InternalError
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/v1/rate/' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "country_of_residence": "IN",
    "destination_country": "US",
    "start_date": "2026-05-01",
    "end_date": "2026-06-01",
    "insureds": [
        {
            "date_of_birth": "1960-05-15",
            "relationship": "primary"
        },
        {
            "date_of_birth": "1990-03-20",
            "relationship": "spouse"
        }
    ],
    "coverage": {
        "plan_max": 100000,
        "plan_ded": 500
    }
}'
Response Response Example
200 - light mode response
{
    "success": true,
    "data": [
        {
            "program_id": "c70f27d4-0f63-443c-b210-5dd3c0dd52d5",
            "product_code": "HOP-ADVANTAGE",
            "product_name": "HOP! Advantage",
            "carrier_code": "siriuspoint",
            "carrier_name": "SiriusPoint",
            "rating_method": "factor",
            "trip_days": 31,
            "num_insureds": 1,
            "selected": false,
            "pricing": {
                "premium": 44.86,
                "fees": 3.14,
                "taxes": 0,
                "total": 48
            },
            "rating": {
                "rating_type": "internal"
            },
            "full_payload": null
        },
        {
            "program_id": "5d7a8e9f-fc01-4fea-82f8-9c4c67ff325c",
            "product_code": "BMI-CLASSICO",
            "product_name": "BMI Classico",
            "carrier_code": "bmi",
            "carrier_name": "BMI",
            "rating_method": "external",
            "trip_days": null,
            "num_insureds": null,
            "selected": false,
            "pricing": null,
            "rating": {
                "rating_type": "external"
            },
            "full_payload": null
        }
    ]
}
Modified at 2026-05-05 23:26:09
Previous
Appetite details (product-filtered)
Next
Sensitivity analysis across coverage options
Built with