1. Bind
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. Bind

Bind quote requests

POST
/v1/bind
Binds one or more quote requests. Each quote request is processed independently.
Request body uses quotes[] keyed by quoteRequestId
Current mode is paymentMode=perQuote
Response returns a quote-level execution summary plus policy receipt object when successful
Policy activation:
card / ach payments: Stripe confirms the PaymentIntent during the bind call. If Stripe returns succeeded synchronously (most cards, all test tokens), policy.status is active and paymentStatus is paid in the response — no further action needed.
If Stripe returns async (rare, e.g. certain 3DS flows), policy.status is pending. The Stripe payment_intent.succeeded webhook activates the policy. Poll GET /v1/policy/{policyId} until status: active.
account / external_carrier: finalize inside bind — always returns active immediately.

Request

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

Examples

Responses

🟢201
application/json
Bind processed. May be full success or partial success.
Bodyapplication/json

🟠400
🟠401
🟠422
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/v1/bind' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "paymentMode": "perQuote",
    "attestations": [
        {
            "type": "terms_acceptance",
            "termId": "uuid-1",
            "termKey": "coterie_tos",
            "termVersion": "2026-04-01",
            "acceptedAt": "2026-04-30T22:20:00Z",
            "artifactType": "checkbox",
            "artifactValue": "true"
        }
    ],
    "quotes": [
        {
            "quoteRequestId": "c6e8b3ac-daf4-4b9f-ad9e-c750d002c4d5",
            "paymentInterval": "Monthly",
            "payment": {
                "method": "card",
                "amount": 149120,
                "currency": "USD",
                "token": "pm_1PqR2sT3uV4wX5yZ",
                "saveForFutureUse": true
            }
        }
    ]
}'
Response Response Example
201 - Partial success
{
    "success": true,
    "data": {
        "paymentMode": "perQuote",
        "executionStatus": "partial_success",
        "summary": {
            "total": 2,
            "bound": 1,
            "pendingPayment": 0,
            "failed": 1
        },
        "quotes": [
            {
                "quoteRequestId": "c6e8b3ac-daf4-4b9f-ad9e-c750d002c4d5",
                "status": "bound",
                "paymentStatus": "paid",
                "policy": {
                    "policyId": "f9e8d7c6-b5a4-3210-fedc-ba9876543210",
                    "policyNumber": "26043HJRJTL",
                    "status": "active",
                    "paymentStatus": "paid",
                    "termsStatus": "accepted",
                    "billingFrequency": "monthly",
                    "purchasedAt": "2026-04-30T23:14:00Z",
                    "effectiveAt": "2026-05-01T00:00:00Z",
                    "expiresAt": "2027-05-01T23:59:59Z",
                    "cancelByAt": "2026-05-14T23:59:59Z",
                    "customer": {
                        "id": "cust-uuid-1",
                        "name": "Alex Carter",
                        "email": "alex@example.com",
                        "accountStatus": "pending_activation"
                    },
                    "billing": {
                        "premium": 480,
                        "fees": 54.4,
                        "taxes": 0,
                        "total": 534.4,
                        "currency": "USD"
                    },
                    "documents": [
                        {
                            "type": "policy_jacket",
                            "url": "https://docs.inf.plans.com/token/eyJhbGciOi...",
                            "expiresAt": "2026-04-30T23:44:00Z"
                        }
                    ]
                }
            },
            {
                "quoteRequestId": "de1acbcf-d649-4d3d-8202-f4067b8d4e25",
                "status": "failed",
                "paymentStatus": "failed",
                "policy": null
            }
        ]
    }
}
Modified at 2026-05-04 04:12:20
Previous
Edit form_payload only
Next
Get policy — full detail
Built with