Photos in. A priced inventory out.
The Contents.team API runs our claims pipeline from your software: create a claim, send room photos, and get back every visible item, priced from a real retailer and valued with depreciation.
Free for every Contents.team organization. The API adds no charge of its own; approved items count toward your plan exactly as they do in the app.
curl https://contents.team/api/v1/claims?limit=1 \
-H "Authorization: Bearer $CONTENTS_API_KEY"200 OK
{
"object": "list",
"data": [
{
"id": "clm_0a6NnX3I9",
"object": "claim",
"mode": "live",
"externalRef": "JOB-1042",
"claimNumber": "HO-2026-118342",
"insuredName": "Dana Whitfield",
"lossAddress": "1418 Larkin St, Denver, CO 80211",
"lossType": "Water",
"dateOfLoss": "2026-10-19",
"status": "in_progress",
"insuranceCompany": "Front Range Mutual",
"policyNumber": "FRM-HO3-7720931",
"valuationMode": "rcv",
"salesTaxBp": 881,
"itemCount": 64,
"approvedRcvCents": 1874215,
"createdAt": "2026-10-21T15:02:11.000Z",
"updatedAt": "2026-10-24T18:40:52.000Z"
}
],
"hasMore": true,
"nextCursor": "clm_0a6NnX3I9"
}One claim, start to finish.
Every integration follows the same six steps. A person reviews the inventory before anything is approved, in Contents.team or in your own product through the API, and only approved items reach an export.
Create a claim
Open a claim from your system with your own externalRef, so both sides stay linked and a retry never makes a duplicate.
POST /api/v1/claimsAvailableSend room photos
Pass photo URLs grouped by room. Each photo is analyzed and its visible items drafted as lines.
POST /api/v1/claims/{claimId}/photosAvailableHear when it is priced
A signed webhook fires as photos finish analysis and as items are priced. Or poll the claim.
webhook: items.pricedRead the inventory
Line items by room with quantity, condition, the replacement price and its source, depreciation, RCV and ACV.
GET /api/v1/claims/{claimId}/itemsAvailableReview and approve
Fix what the AI got wrong, pick a replacement offer, and approve, in Contents.team or inside your own product.
POST /api/v1/claims/{claimId}/items/approveAvailableExport the report
Generate the XactContents-format XLSX or the PDF report, and download it when export.ready arrives.
POST /api/v1/claims/{claimId}/exportsAvailable
Steps marked rolling out ship in the coming weeks; the changelog records each one as it goes live.
What people build with it.
Built for software vendors whose users handle property claims, and just as useful to the team down the hall.
- Claims and TPA platforms
- Open a Contents.team claim from your own claim record, send the field photos, and pull the priced schedule back onto the file when the adjuster approves it.
- Restoration and job software
- Turn the photos your crews already take into the contents inventory for the job, with every line linked to the photo it came from.
- In-house tools and AI agents
- Script your own intake, sync claims into a data warehouse, or let an assistant create claims and read inventories over MCP.
Ready for AI agents.
Point Claude, ChatGPT, Cursor or Claude Code at our MCP server with an API key, and an assistant can open claims, add photos and read the inventory. Agents that read docs get llms.txt and the OpenAPI document.
Streamable HTTP endpoint
https://contents.team/api/mcplist_claimsList claimscreate_claimCreate a claimadd_photosAdd photosget_claim_statusGet claim statusget_inventoryGet the inventoryexport_reportExport a reportget_replacementsGet replacement offersupdate_itemUpdate an itemapprove_itemsApprove itemsaccept_replacementAccept a replacement offeradd_itemAdd an itemdelete_itemDelete an itemunapprove_itemsUnapprove itemsreject_itemsReject itemslist_roomsList roomsget_itemGet an itemlist_categoriesList categoriesupdate_claimUpdate a claimget_meWho am Iget_upload_linkGet a photo upload linkcreate_photo_uploadStart a photo uploadcomplete_photo_uploadFinish a photo uploadlist_photosList photosget_photoLook at a photocreate_item_photo_uploadUpload photos for an itemattach_item_photosAttach photos to an itemprice_from_linkPrice an item from a product linksearch_replacementsSearch for replacements
The parts you will rely on.
API keys and scopes
Owners and admins create keys in Settings. Each key carries only the scopes it needs, and a write scope never implies the read.
AuthenticationTest mode
ctk_test_ keys run a canned pipeline with realistic results, so you can build the whole flow without real photos. Nothing in test mode is billed.
Test modeSigned webhooks
Events for new claims, finished analysis, priced items, approved inventories and ready exports, signed with HMAC-SHA256 and retried for three days.
WebhooksPredictable requests
Prefixed ids, money in cents, rates in basis points, cursor pagination, Idempotency-Key on every POST and one error envelope.
Requests and errorsHow we handle your data.
Every organization's claims, photos and items are isolated from every other organization's, and an API key only ever reaches the organization that created it. Keys are stored as hashes, shown once, and an owner or admin can revoke any of them from Settings. Photos are stored privately and encrypted at rest; we don't sell your data or use it to train outside models.
Read the privacy policy and the data processing agreement. Live keys for a partner integration come with a partner agreement and DPA.
Building an integration?
Tell us what your users do and we will help you scope it, set up live access, and list it.
Browse the API reference, the review and approve guide, the CompanyCam guide, the CompanyCam integration and the status page.