Guidewire ClaimCenter API
The Guidewire ClaimCenter API provides REST endpoints for claims intake, assignment, investigation, reserving, payment processing, and closure workflows for P&C insurance claim operations.
The Guidewire ClaimCenter API provides REST endpoints for claims intake, assignment, investigation, reserving, payment processing, and closure workflows for P&C insurance claim operations.
openapi: 3.1.0
info:
title: Guidewire ClaimCenter API
description: >-
Guidewire ClaimCenter REST API for P&C insurance claims management. Provides
endpoints for first notice of loss (FNOL), claims assignment, investigation,
coverage verification, reserving, payment processing, and claims closure.
version: 1.0.0
contact:
name: Guidewire Developer Support
url: https://community.guidewire.com/
license:
name: Guidewire License
url: https://www.guidewire.com/
externalDocs:
description: Guidewire ClaimCenter Documentation
url: https://docs.guidewire.com/
servers:
- url: https://{tenant}.guidewire.com/cc/rest/v1
variables:
tenant:
default: yourcompany
description: Your Guidewire Cloud tenant identifier
security:
- OAuth2: []
tags:
- name: Claims
description: Claims lifecycle management
- name: Exposures
description: Claim exposure management
- name: FNOL
description: First Notice of Loss intake
- name: Payments
description: Claim payment and reserves
paths:
/claims:
get:
operationId: listClaims
summary: List claims
description: Returns paginated list of claims with optional filtering by status, policy number, loss date range, and assigned adjuster.
tags: [Claims]
parameters:
- name: status
in: query
schema:
type: string
enum: [Open, Closed, Reopened]
- name: policyNumber
in: query
schema:
type: string
- name: claimNumber
in: query
schema:
type: string
- name: lossDateFrom
in: query
schema:
type: string
format: date
- name: lossDateTo
in: query
schema:
type: string
format: date
- name: pageSize
in: query
schema:
type: integer
default: 25
maximum: 100
- name: pageNumber
in: query
schema:
type: integer
default: 1
responses:
'200':
description: Claims list returned
content:
application/json:
schema:
$ref: '#/components/schemas/ClaimList'
/claims/{claimId}:
get:
operationId: getClaim
summary: Get claim details
description: Returns complete claim details including loss information, coverages, exposures, reserves, and payment history.
tags: [Claims]
parameters:
- name: claimId
in: path
required: true
schema:
type: string
responses:
'200':
description: Claim returned
content:
application/json:
schema:
$ref: '#/components/schemas/Claim'
'404':
description: Claim not found
/fnol:
post:
operationId: createFnol
summary: Submit First Notice of Loss
description: Creates a new claim from first notice of loss data. Initiates coverage verification, assignment, and claims workflow in ClaimCenter.
tags: [FNOL]
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FnolRequest'
responses:
'201':
description: Claim created from FNOL
content:
application/json:
schema:
$ref: '#/components/schemas/Claim'
'400':
description: Invalid FNOL data
'404':
description: Policy not found
/claims/{claimId}/exposures:
get:
operationId: listExposures
summary: List claim exposures
description: Returns all exposures (coverage lines being investigated) for a claim.
tags: [Exposures]
parameters:
- name: claimId
in: path
required: true
schema:
type: string
responses:
'200':
description: Exposures returned
content:
application/json:
schema:
$ref: '#/components/schemas/ExposureList'
/claims/{claimId}/payments:
get:
operationId: listClaimPayments
summary: List claim payments
description: Returns all payments (checks, EFTs) associated with a claim including status and payment details.
tags: [Payments]
parameters:
- name: claimId
in: path
required: true
schema:
type: string
responses:
'200':
description: Payments returned
content:
application/json:
schema:
$ref: '#/components/schemas/ClaimPaymentList'
post:
operationId: createClaimPayment
summary: Create claim payment
description: Creates a new claim payment (check or EFT) for a specified payee and exposure.
tags: [Payments]
parameters:
- name: claimId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClaimPaymentRequest'
responses:
'201':
description: Payment created
content:
application/json:
schema:
$ref: '#/components/schemas/ClaimPayment'
'400':
description: Invalid payment request
'422':
description: Reserve insufficient
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://login.guidewire.com/oauth/authorize
tokenUrl: https://login.guidewire.com/oauth/token
scopes:
cc.claims.read: Read claim data
cc.claims.write: Create and update claims
cc.payments.write: Create claim payments
schemas:
Claim:
type: object
properties:
id:
type: string
claimNumber:
type: string
status:
type: string
enum: [Open, Closed, Reopened]
lossType:
type: string
description: Type of loss (e.g., "AUTO", "PROPERTY", "LIABILITY")
lossDate:
type: string
format: date
lossDescription:
type: string
reportedDate:
type: string
format: date-time
policyNumber:
type: string
insured:
type: object
properties:
id:
type: string
displayName:
type: string
assignedAdjuster:
type: object
properties:
id:
type: string
displayName:
type: string
totalIncurred:
type: number
format: double
description: Total incurred losses (reserves + paid)
totalPaid:
type: number
format: double
exposures:
type: array
items:
$ref: '#/components/schemas/Exposure'
createdDate:
type: string
format: date-time
closedDate:
type: string
format: date
ClaimList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Claim'
total:
type: integer
pageNumber:
type: integer
pageSize:
type: integer
FnolRequest:
type: object
required: [policyNumber, lossDate, lossType]
properties:
policyNumber:
type: string
lossDate:
type: string
format: date
lossTime:
type: string
format: time
lossType:
type: string
description: Loss type code
lossDescription:
type: string
maxLength: 4000
lossLocation:
type: object
properties:
addressLine1:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
reporter:
type: object
properties:
firstName:
type: string
lastName:
type: string
phone:
type: string
email:
type: string
format: email
relationship:
type: string
Exposure:
type: object
properties:
id:
type: string
coverageType:
type: string
claimant:
type: object
properties:
id:
type: string
displayName:
type: string
status:
type: string
enum: [Open, Closed]
reserve:
type: number
format: double
paid:
type: number
format: double
incurred:
type: number
format: double
ExposureList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Exposure'
ClaimPayment:
type: object
properties:
id:
type: string
claimId:
type: string
paymentNumber:
type: string
status:
type: string
enum: [Requested, Approved, Issued, Voided, Stopped]
amount:
type: number
format: double
currency:
type: string
default: USD
paymentType:
type: string
enum: [Check, EFT, Wire]
payee:
type: object
properties:
id:
type: string
displayName:
type: string
memo:
type: string
issueDate:
type: string
format: date
createdDate:
type: string
format: date-time
ClaimPaymentRequest:
type: object
required: [exposureId, amount, payeeId, paymentType]
properties:
exposureId:
type: string
amount:
type: number
format: double
minimum: 0.01
payeeId:
type: string
paymentType:
type: string
enum: [Check, EFT]
memo:
type: string
maxLength: 255
ClaimPaymentList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ClaimPayment'
total:
type: integer