Find an API

Search public APIs with auth details & Postman guides

← All APIs

BriteCore Insurance Platform API

britecore.com · Company

Company OAuth2 Paid Insurance Policy Administration Claims Billing

REST API for BriteCore — a cloud-native, open insurance platform built on AWS for P&C insurers. BriteCore targets mutual and regional insurers with a modern SaaS platform covering policy administration, billing, claims, and reporting. The open API allows insurers to extend BriteCore with custom modules, InsurTech integrations, and agency portals. BriteCore's API-first architecture is designed for composable insurance stacks.

Authentication

OAuth2 OAuth2 client credentials. API credentials provisioned per BriteCore tenant. Contact [email protected] for partner API access.

Sample Requests

GET Search policies

Returns policies matching search criteria. Useful for agency portals, loss run reporting, and renewal workflows.

https://api.britecore.com/v1/policies?page=1&state=IA&status=Active&perPage=20&lineOfBusiness=FARM&insuredLastName=Johnson

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization Bearer YOUR_ACCESS_TOKEN
curl -X GET "https://api.britecore.com/v1/policies?page=1&state=IA&status=Active&perPage=20&lineOfBusiness=FARM&insuredLastName=Johnson" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
params = {
    "page": "1",
    "state": "IA",
    "status": "Active",
    "perPage": "20",
    "lineOfBusiness": "FARM",
    "insuredLastName": "Johnson"
}
headers = {
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
response = requests.get(
    "https://api.britecore.com/v1/policies",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://api.britecore.com/v1/policies');
url.searchParams.set('page', '1');
url.searchParams.set('state', 'IA');
url.searchParams.set('status', 'Active');
url.searchParams.set('perPage', '20');
url.searchParams.set('lineOfBusiness', 'FARM');
url.searchParams.set('insuredLastName', 'Johnson');

const response = await fetch(url, {
  headers: {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.britecore.com/v1/policies")
	q := baseURL.Query()
	q.Set("page", "1")
	q.Set("state", "IA")
	q.Set("status", "Active")
	q.Set("perPage", "20")
	q.Set("lineOfBusiness", "FARM")
	q.Set("insuredLastName", "Johnson")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "Bearer YOUR_ACCESS_TOKEN")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.britecore.com/v1/policies")
uri.query = URI.encode_www_form({
  "page" => "1",
  "state" => "IA",
  "status" => "Active",
  "perPage" => "20",
  "lineOfBusiness" => "FARM",
  "insuredLastName" => "Johnson"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer YOUR_ACCESS_TOKEN"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.britecore.com/v1/policies?" . http_build_query([
    "page" => "1",
    "state" => "IA",
    "status" => "Active",
    "perPage" => "20",
    "lineOfBusiness" => "FARM",
    "insuredLastName" => "Johnson"
]);
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: Bearer YOUR_ACCESS_TOKEN"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST Create claim

Opens a new claim in BriteCore. Supports all lines of business configured in the tenant. Triggers auto-assignment and reserve setup.

https://api.britecore.com/v1/claims

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Content-Type application/json
Authorization Bearer YOUR_ACCESS_TOKEN
Request Body — data you're sending
{
  "lossDate": "2024-03-10",
  "lossType": "Hail",
  "policyId": "POL-2024-00789",
  "reportedBy": {
    "name": "Tom Johnson",
    "phone": "515-555-7890",
    "relationship": "Insured"
  },
  "description": "Hail damage to roof and siding",
  "estimatedLoss": 18500
}
curl -X POST "https://api.britecore.com/v1/claims" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"lossDate":"2024-03-10","lossType":"Hail","policyId":"POL-2024-00789","reportedBy":{"name":"Tom Johnson","phone":"515-555-7890","relationship":"Insured"},"description":"Hail damage to roof and siding","estimatedLoss":18500}'
import requests
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
data = {
    "lossDate": "2024-03-10",
    "lossType": "Hail",
    "policyId": "POL-2024-00789",
    "reportedBy": {
        "name": "Tom Johnson",
        "phone": "515-555-7890",
        "relationship": "Insured"
    },
    "description": "Hail damage to roof and siding",
    "estimatedLoss": 18500
}
response = requests.post(
    "https://api.britecore.com/v1/claims",
    headers=headers,
    json=data,
)
print(response.json())
const url = 'https://api.britecore.com/v1/claims';

const response = await fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
  },
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
  "lossDate": "2024-03-10",
  "lossType": "Hail",
  "policyId": "POL-2024-00789",
  "reportedBy": {
    "name": "Tom Johnson",
    "phone": "515-555-7890",
    "relationship": "Insured"
  },
  "description": "Hail damage to roof and siding",
  "estimatedLoss": 18500
}),
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"bytes"
	"encoding/json"
)

func main() {
	targetURL := "https://api.britecore.com/v1/claims"
	jsonData, _ := json.Marshal({"lossDate":"2024-03-10","lossType":"Hail","policyId":"POL-2024-00789","reportedBy":{"name":"Tom Johnson","phone":"515-555-7890","relationship":"Insured"},"description":"Hail damage to roof and siding","estimatedLoss":18500})
	req, _ := http.NewRequest("POST", targetURL, bytes.NewBuffer(jsonData))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer YOUR_ACCESS_TOKEN")
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.britecore.com/v1/claims")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Post.new(uri)
req["Content-Type"] = "application/json"
req["Authorization"] = "Bearer YOUR_ACCESS_TOKEN"
req["Content-Type"] = "application/json"
req.body = "{\"lossDate\":\"2024-03-10\",\"lossType\":\"Hail\",\"policyId\":\"POL-2024-00789\",\"reportedBy\":{\"name\":\"Tom Johnson\",\"phone\":\"515-555-7890\",\"relationship\":\"Insured\"},\"description\":\"Hail damage to roof and siding\",\"estimatedLoss\":18500}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.britecore.com/v1/claims";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "Content-Type: application/json",
        "Authorization: Bearer YOUR_ACCESS_TOKEN",
        "Content-Type: application/json"
    ]),
    "content" => json_encode({"lossDate":"2024-03-10","lossType":"Hail","policyId":"POL-2024-00789","reportedBy":{"name":"Tom Johnson","phone":"515-555-7890","relationship":"Insured"},"description":"Hail damage to roof and siding","estimatedLoss":18500}),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. Contact [email protected] to establish a partner API relationship
  2. BriteCore is deployed on AWS per tenant — base URL is tenant-specific but follows standard pattern
  3. BriteCore supports webhooks for policy events, claim status changes, and payment notifications
  4. API documentation available at developers.britecore.com (login required)
  5. BriteCore uses ACORD data standards internally — API maps ACORD fields to JSON
  6. Open source BriteCore accelerators available on GitHub at github.com/britecorepayments

What can you build with BriteCore Insurance Platform API?

BriteCore Insurance Platform API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

OAuth 2.0. OAuth lets your app act on behalf of a user. You redirect them to authorise access, receive a token, then use that token in requests. Best for accessing user-owned data. BriteCore Insurance Platform API is a paid API — check the provider's pricing page before building a production integration.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗