Find an API

Search public APIs with auth details & Postman guides

← All APIs

Mitchell Cloud Estimating API

mitchell.com · Company

Company OAuth2 Paid Insurance Automotive Claims Auto Insurance

API for Mitchell International's auto damage estimating and total loss valuation platform. Used by auto insurers integrated with Guidewire ClaimCenter to dispatch auto assignments, retrieve repair estimates, and process total loss valuations. Mitchell processes over 50 million claims annually.

Authentication

OAuth2 OAuth2 client credentials. Credentials provisioned through Mitchell partner onboarding. Contact [email protected].

Sample Requests

POST Submit auto claim assignment

Submits an auto claim for damage estimation or total loss review.

https://api.mitchell.com/claims/v2/assignments

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
{
  "vin": "1HGBH41JXMN109186",
  "lossDate": "2024-01-10",
  "lossType": "Collision",
  "claimNumber": "CL-5678",
  "vehicleLocation": {
    "zip": "75201",
    "city": "Dallas",
    "state": "TX",
    "address": "456 Oak Ave"
  }
}
curl -X POST "https://api.mitchell.com/claims/v2/assignments" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"vin":"1HGBH41JXMN109186","lossDate":"2024-01-10","lossType":"Collision","claimNumber":"CL-5678","vehicleLocation":{"zip":"75201","city":"Dallas","state":"TX","address":"456 Oak Ave"}}'
import requests
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
data = {
    "vin": "1HGBH41JXMN109186",
    "lossDate": "2024-01-10",
    "lossType": "Collision",
    "claimNumber": "CL-5678",
    "vehicleLocation": {
        "zip": "75201",
        "city": "Dallas",
        "state": "TX",
        "address": "456 Oak Ave"
    }
}
response = requests.post(
    "https://api.mitchell.com/claims/v2/assignments",
    headers=headers,
    json=data,
)
print(response.json())
const url = 'https://api.mitchell.com/claims/v2/assignments';

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({
  "vin": "1HGBH41JXMN109186",
  "lossDate": "2024-01-10",
  "lossType": "Collision",
  "claimNumber": "CL-5678",
  "vehicleLocation": {
    "zip": "75201",
    "city": "Dallas",
    "state": "TX",
    "address": "456 Oak Ave"
  }
}),
}); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	targetURL := "https://api.mitchell.com/claims/v2/assignments"
	jsonData, _ := json.Marshal({"vin":"1HGBH41JXMN109186","lossDate":"2024-01-10","lossType":"Collision","claimNumber":"CL-5678","vehicleLocation":{"zip":"75201","city":"Dallas","state":"TX","address":"456 Oak Ave"}})
	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.mitchell.com/claims/v2/assignments")

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 = "{\"vin\":\"1HGBH41JXMN109186\",\"lossDate\":\"2024-01-10\",\"lossType\":\"Collision\",\"claimNumber\":\"CL-5678\",\"vehicleLocation\":{\"zip\":\"75201\",\"city\":\"Dallas\",\"state\":\"TX\",\"address\":\"456 Oak Ave\"}}"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.mitchell.com/claims/v2/assignments";
$opts = ["http" => [
    "method" => "POST",
    "header" => implode("\r\n", [
        "Content-Type: application/json",
        "Authorization: Bearer YOUR_ACCESS_TOKEN",
        "Content-Type: application/json"
    ]),
    "content" => json_encode({"vin":"1HGBH41JXMN109186","lossDate":"2024-01-10","lossType":"Collision","claimNumber":"CL-5678","vehicleLocation":{"zip":"75201","city":"Dallas","state":"TX","address":"456 Oak Ave"}}),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get total loss valuation

Returns ACV (Actual Cash Value) and comparable vehicle data for a total loss claim.

https://api.mitchell.com/totaloss/v1/valuations/{claimNumber}

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.mitchell.com/totaloss/v1/valuations/{claimNumber}" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
headers = {
    "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
response = requests.get(
    "https://api.mitchell.com/totaloss/v1/valuations/{claimNumber}",
    headers=headers,
)
print(response.json())
const url = 'https://api.mitchell.com/totaloss/v1/valuations/{claimNumber}';

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"
)

func main() {
	targetURL := "https://api.mitchell.com/totaloss/v1/valuations/{claimNumber}"
	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.mitchell.com/totaloss/v1/valuations/{claimNumber}")

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.mitchell.com/totaloss/v1/valuations/{claimNumber}";
$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));

Postman Setup Guide

Get Postman ↗
  1. Contact Mitchell partner integration team at [email protected]
  2. Mitchell provides a sandbox environment for development and testing
  3. Guidewire Marketplace accelerator available — search "Mitchell" in App Directory
  4. VIN decoding included — pass VIN and Mitchell returns vehicle details automatically
  5. Total loss threshold rules are configurable per insurer state rules
  6. Webhooks notify Guidewire when estimates or valuations are complete

What can you build with Mitchell Cloud Estimating API?

Mitchell Cloud Estimating 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. Mitchell Cloud Estimating 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 ↗