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