Rainbow Indication API
The Indication API from Rainbow — 2 operation(s) for indication.
The Indication API from Rainbow — 2 operation(s) for indication.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/userainbow-com:userainbow-com-indication-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: Rainbow Open API is currently in preview for selected insurance partners.
title: Rainbow Indication API
contact:
name: API Support
email: support@userainbow.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: '1.0'
servers:
- url: //api.demo.userainbow.com/partner/api/v1
tags:
- name: Indication
paths:
/indication:
post:
security:
- ApiKeyAuthV1: []
description: Use the endpoint to create an Indication. *Note* the url provided in the quote will enables the agent to log in without a sign in step to the rainbow platform. As a result, to keep these links secure, it will expire within a few days. If you need a refreshed url please use the "Query by Indication ID" endpoint to query the indication again this will provide a new url with a refreshed expiration date.
tags:
- Indication
summary: Create Indication
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/model.CreateQuoteIndicationRequest'
description: Create Application Request
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/model.QuoteIndicationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/model.Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/model.Response'
operationId: postIndication
x-operation-id-source: derived
/indication/id/{IndicationID}:
get:
security:
- ApiKeyAuthV1: []
description: Use the endpoint to fetch the created quote indication based on an Indication ID. This endpoint will also give you a refreshed quote url so you may use it to get a new url if your previous has expired.
tags:
- Indication
summary: Query Indication by Indication ID
parameters:
- description: The Indication ID, returned by the create indication endpoint.
name: IndicationID
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/model.QuoteIndicationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/model.Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/model.Response'
operationId: getIndicationIdByIndicationID
x-operation-id-source: derived
components:
schemas:
model.QuoteIndicationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/model.QuoteIndicationResponseData'
errors: {}
message:
type: string
status:
type: integer
timestamp:
type: string
model.CreateQuoteIndicationRequest:
type: object
required:
- policy_effective_date
- product_code
- product_version
properties:
agent:
$ref: '#/components/schemas/model.IndicationAgent'
agent_id:
type: string
answers:
description: An array of objects, where each object represents an answer to a question from the appetite endpoint.
type: array
items:
$ref: '#/components/schemas/monolith_endpoint_partner_model.Answer'
business:
description: An object contains business information about the insured business.
allOf:
- $ref: '#/components/schemas/model.IndicationBusiness'
contact:
description: Personal information about the applicant.
allOf:
- $ref: '#/components/schemas/model.IndicationContact'
coverage:
description: An object contains coverage information
allOf:
- $ref: '#/components/schemas/model.CoverageRequest'
policy_effective_date:
description: The effective date for the policy, must be in RFC3339 format or YYYY-MM-DD.
type: string
product_code:
description: Code representing the insurance product linked to the queried appetite.
allOf:
- $ref: '#/components/schemas/model.ProductCode'
product_version:
description: String representing the version of the product requested
type: string
sub_agency_id:
description: Optional, identifier of the sub-agency, if provided, the indication will be attributed to the sub-agency.
type: string
model.IndicationContact:
type: object
required:
- email
- first_name
- last_name
properties:
email:
type: string
first_name:
type: string
last_name:
type: string
mailing_address:
$ref: '#/components/schemas/model.AddressInfo'
phone_number:
type: string
model.IndicationBusiness:
type: object
required:
- business_name
properties:
business_addresses:
type: array
minItems: 1
items:
$ref: '#/components/schemas/model.AddressInfo'
business_dba:
type: string
business_name:
type: string
model.GeneralLiabilityLimitOptions:
type: string
enum:
- $500,000 / $1,000,000
- $1,000,000 / $2,000,000
- $2,000,000 / $4,000,000
x-enum-varnames:
- GeneralLiabilityLimitOption500K
- GeneralLiabilityLimitOption1M
- GeneralLiabilityLimitOption2M
model.AddressInfo:
type: object
required:
- address1
- city
- state
- zip
properties:
address1:
type: string
address2:
type: string
city:
type: string
state:
type: string
zip:
type: string
model.Response:
type: object
properties:
data: {}
errors: {}
message:
type: string
status:
type: integer
timestamp:
type: string
model.SubAgencyAgentResponseData:
type: object
required:
- email
- first_name
- last_name
properties:
email:
type: string
first_name:
type: string
id:
type: string
last_name:
type: string
phone_number:
type: string
model.IndicationAgent:
type: object
required:
- email
- first_name
- last_name
properties:
email:
type: string
first_name:
type: string
last_name:
type: string
phone_number:
type: string
model.AllPerilsDeductibleOptions:
type: string
enum:
- $500
- $1,000
- $2,500
- $5,000
- $10,000
- $25,000
x-enum-varnames:
- AllPerilsDeductibleOption500
- AllPerilsDeductibleOption1000
- AllPerilsDeductibleOption2500
- AllPerilsDeductibleOption5000
- AllPerilsDeductibleOption10000
- AllPerilsDeductibleOption25000
model.ProductCode:
type: string
enum:
- bop_v1_indication
x-enum-varnames:
- ProductCodeBOPIndication
model.URLInfo:
type: object
properties:
expires_at:
description: the time at which this url will expire. Please refetch the quote indication if this has expired.
type: string
url:
description: The pre-authed URL into the rainbow dashboard for your agent to complete the quote with.
type: string
model.QuoteIndicationResponseData:
type: object
properties:
agent:
description: The agent tied to this quote
allOf:
- $ref: '#/components/schemas/model.SubAgencyAgentResponseData'
business:
description: This object contains information about the business associated with the application.
allOf:
- $ref: '#/components/schemas/model.IndicationBusiness'
contact:
description: This object contains personal information about the applicant.
allOf:
- $ref: '#/components/schemas/model.IndicationContact'
indication_id:
description: The Indication identifier.
type: string
product_code:
description: Code representing the insurance product linked to the queried appetite.
type: string
product_version:
description: String representing the version of the product requested
type: string
quote:
description: The quote object contains information about the generated quote.
allOf:
- $ref: '#/components/schemas/monolith_endpoint_partner_model.Quote'
status:
description: Indicates the status of the indication (quote, declination).
type: string
status_messages:
description: Any messages related to the status.
type: array
items:
type: string
model.LineItem:
type: object
properties:
description:
type: string
title:
type: string
model.CoverageResponse:
type: object
properties:
description:
type: string
type:
type: string
values:
type: array
items:
$ref: '#/components/schemas/model.CoverageValue'
model.CoverageValue:
type: object
properties:
title:
type: string
value:
type: string
monolith_endpoint_partner_model.Answer:
type: object
required:
- question_key
properties:
boolean:
type: boolean
list:
type: array
items:
type: string
number:
type: integer
question_key:
type: string
string:
type: string
time:
type: string
monolith_endpoint_partner_model.Quote:
type: object
properties:
application_url:
description: The URL to complete the application. *Note* this will expire please refetch the data if it expires.
allOf:
- $ref: '#/components/schemas/model.URLInfo'
coverages:
description: The coverages of the quote, which contains the liability limits or property limits
type: array
items:
$ref: '#/components/schemas/model.CoverageResponse'
line_items:
description: Additional line items, which contains the tax, fee, or additional discount
type: array
items:
$ref: '#/components/schemas/model.LineItem'
monthly_premium:
description: The monthly premium for the policy.
type: string
premium:
description: The total premium for the policy.
type: string
model.CoverageRequest:
type: object
required:
- all_perils_deductible
- business_personal_property_limit
- general_liability_limit
properties:
all_perils_deductible:
$ref: '#/components/schemas/model.AllPerilsDeductibleOptions'
building_limit:
type: integer
business_personal_property_limit:
type: integer
general_liability_limit:
$ref: '#/components/schemas/model.GeneralLiabilityLimitOptions'
tenants_improvements_betterments_limit:
type: integer
securitySchemes:
ApiKeyAuthV1:
type: apiKey
name: Authorization
in: header
x-provenance:
method: searched
source: https://apidocs.userainbow.com/reference
harvested: '2026-10-25'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://apidocs.userainbow.com/reference/get_appetite.md
- https://apidocs.userainbow.com/reference/get_indication-id-indicationid.md
- https://apidocs.userainbow.com/reference/get_sub-agency-id-subagencyid-agent-id-agentid.md
- https://apidocs.userainbow.com/reference/get_sub-agency-id-subagencyid-agents.md
- https://apidocs.userainbow.com/reference/get_sub-agency-id-subagencyid.md
- https://apidocs.userainbow.com/reference/get_sub-agency-npn-npn.md
- https://apidocs.userainbow.com/reference/post_indication.md
- https://apidocs.userainbow.com/reference/post_sub-agency-id-subagencyid-agent.md
- https://apidocs.userainbow.com/reference/post_sub-agency.md
merge:
pages: 9
deduped: 37
conflicts_kept_first: 0