Find an API

Search public APIs with auth details & Postman guides

← All APIs

Majesco CloudInsurer API

majesco.com · Company

Company OAuth2 Paid Insurance Policy Administration Claims Billing

REST API for Majesco CloudInsurer — a cloud-native P&C and L&AH insurance platform. Exposes policy lifecycle (quote, bind, endorse, cancel, renew), claims intake and management, and billing operations. Majesco's open API architecture enables insurers to integrate with third-party data, distribution, and fintech partners. Used by mid-market and specialty insurers globally.

Authentication

OAuth2 OAuth2 client credentials flow. Credentials provisioned through Majesco partner onboarding. Contact [email protected] for API access.

Sample Requests

POST Create policy quote

Initiates a new policy quote for a personal or commercial lines product. Returns a quote ID and preliminary premium calculation.

https://api.majesco.com/cloudinsurer/v2/policies/quotes

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
{
  "insured": {
    "dob": "1985-06-15",
    "address": {
      "zip": "30301",
      "city": "Atlanta",
      "state": "GA",
      "street": "100 Maple Ave"
    },
    "lastName": "Smith",
    "firstName": "Jane"
  },
  "coverages": [
    {
      "code": "DWL",
      "limit": 350000
    },
    {
      "code": "LIAB",
      "limit": 300000
    }
  ],
  "productCode": "HOMEO",
  "effectiveDate": "2024-03-01"
}
curl -X POST "https://api.majesco.com/cloudinsurer/v2/policies/quotes" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"insured":{"dob":"1985-06-15","address":{"zip":"30301","city":"Atlanta","state":"GA","street":"100 Maple Ave"},"lastName":"Smith","firstName":"Jane"},"coverages":[{"code":"DWL","limit":350000},{"code":"LIAB","limit":300000}],"productCode":"HOMEO","effectiveDate":"2024-03-01"}'
import requests
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
data = {
    "insured": {
        "dob": "1985-06-15",
        "address": {
            "zip": "30301",
            "city": "Atlanta",
            "state": "GA",
            "street": "100 Maple Ave"
        },
        "lastName": "Smith",
        "firstName": "Jane"
    },
    "coverages": [
        {
            "code": "DWL",
            "limit": 350000
        },
        {
            "code": "LIAB",
            "limit": 300000
        }
    ],
    "productCode": "HOMEO",
    "effectiveDate": "2024-03-01"
}
response = requests.post(
    "https://api.majesco.com/cloudinsurer/v2/policies/quotes",
    headers=headers,
    json=data,
)
print(response.json())
const url = 'https://api.majesco.com/cloudinsurer/v2/policies/quotes';

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({
  "insured": {
    "dob": "1985-06-15",
    "address": {
      "zip": "30301",
      "city": "Atlanta",
      "state": "GA",
      "street": "100 Maple Ave"
    },
    "lastName": "Smith",
    "firstName": "Jane"
  },
  "coverages": [
    {
      "code": "DWL",
      "limit": 350000
    },
    {
      "code": "LIAB",
      "limit": 300000
    }
  ],
  "productCode": "HOMEO",
  "effectiveDate": "2024-03-01"
}),
}); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	targetURL := "https://api.majesco.com/cloudinsurer/v2/policies/quotes"
	jsonData, _ := json.Marshal({"insured":{"dob":"1985-06-15","address":{"zip":"30301","city":"Atlanta","state":"GA","street":"100 Maple Ave"},"lastName":"Smith","firstName":"Jane"},"coverages":[{"code":"DWL","limit":350000},{"code":"LIAB","limit":300000}],"productCode":"HOMEO","effectiveDate":"2024-03-01"})
	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.majesco.com/cloudinsurer/v2/policies/quotes")

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 = "{\"insured\":{\"dob\":\"1985-06-15\",\"address\":{\"zip\":\"30301\",\"city\":\"Atlanta\",\"state\":\"GA\",\"street\":\"100 Maple Ave\"},\"lastName\":\"Smith\",\"firstName\":\"Jane\"},\"coverages\":[{\"code\":\"DWL\",\"limit\":350000},{\"code\":\"LIAB\",\"limit\":300000}],\"productCode\":\"HOMEO\",\"effectiveDate\":\"2024-03-01\"}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.majesco.com/cloudinsurer/v2/policies/quotes";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "Content-Type: application/json",
        "Authorization: Bearer YOUR_ACCESS_TOKEN",
        "Content-Type: application/json"
    ]),
    "content" => json_encode({"insured":{"dob":"1985-06-15","address":{"zip":"30301","city":"Atlanta","state":"GA","street":"100 Maple Ave"},"lastName":"Smith","firstName":"Jane"},"coverages":[{"code":"DWL","limit":350000},{"code":"LIAB","limit":300000}],"productCode":"HOMEO","effectiveDate":"2024-03-01"}),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
POST Submit first notice of loss (FNOL)

Creates a new claim record from a first notice of loss. Triggers assignment workflow and initial reserve setting.

https://api.majesco.com/cloudinsurer/v2/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-02-15",
  "lossType": "FIRE",
  "reporter": {
    "name": "Jane Smith",
    "phone": "404-555-1234",
    "relationship": "Insured"
  },
  "description": "Kitchen fire causing structural damage",
  "policyNumber": "HO-2024-001234"
}
curl -X POST "https://api.majesco.com/cloudinsurer/v2/claims" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"lossDate":"2024-02-15","lossType":"FIRE","reporter":{"name":"Jane Smith","phone":"404-555-1234","relationship":"Insured"},"description":"Kitchen fire causing structural damage","policyNumber":"HO-2024-001234"}'
import requests
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
data = {
    "lossDate": "2024-02-15",
    "lossType": "FIRE",
    "reporter": {
        "name": "Jane Smith",
        "phone": "404-555-1234",
        "relationship": "Insured"
    },
    "description": "Kitchen fire causing structural damage",
    "policyNumber": "HO-2024-001234"
}
response = requests.post(
    "https://api.majesco.com/cloudinsurer/v2/claims",
    headers=headers,
    json=data,
)
print(response.json())
const url = 'https://api.majesco.com/cloudinsurer/v2/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-02-15",
  "lossType": "FIRE",
  "reporter": {
    "name": "Jane Smith",
    "phone": "404-555-1234",
    "relationship": "Insured"
  },
  "description": "Kitchen fire causing structural damage",
  "policyNumber": "HO-2024-001234"
}),
}); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	targetURL := "https://api.majesco.com/cloudinsurer/v2/claims"
	jsonData, _ := json.Marshal({"lossDate":"2024-02-15","lossType":"FIRE","reporter":{"name":"Jane Smith","phone":"404-555-1234","relationship":"Insured"},"description":"Kitchen fire causing structural damage","policyNumber":"HO-2024-001234"})
	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.majesco.com/cloudinsurer/v2/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-02-15\",\"lossType\":\"FIRE\",\"reporter\":{\"name\":\"Jane Smith\",\"phone\":\"404-555-1234\",\"relationship\":\"Insured\"},\"description\":\"Kitchen fire causing structural damage\",\"policyNumber\":\"HO-2024-001234\"}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.majesco.com/cloudinsurer/v2/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-02-15","lossType":"FIRE","reporter":{"name":"Jane Smith","phone":"404-555-1234","relationship":"Insured"},"description":"Kitchen fire causing structural damage","policyNumber":"HO-2024-001234"}),
]];
$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 initiate API access and receive sandbox credentials
  2. Majesco provides a partner portal with API documentation and sandbox environment
  3. Authentication uses OAuth2 client credentials — exchange client_id/client_secret for Bearer token
  4. API versioned at /v2 — older /v1 endpoints still supported but deprecated
  5. Product codes (HOMEO, BOP, WORKA etc.) are configured per tenant — confirm codes with Majesco
  6. Webhook callbacks available for async events like claim status changes and payment completions

What can you build with Majesco CloudInsurer API?

Majesco CloudInsurer 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. Majesco CloudInsurer 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 ↗