> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thewo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a customer-owned triage

> Returns a resource owned by the authenticated customer. Resources owned by another customer are indistinguishable from missing resources. GET does not perform POST's entitlement check and adds no Usage metadata.



## OpenAPI

````yaml /openapi/claim-ready-v1.yaml get /v1/product-claims/{id}
openapi: 3.1.0
info:
  title: The Wo ClaimReady API
  version: 1.0.0
  description: >-
    Public v1 contract for ClaimReady physical-product warranty and return
    triage. Results support human review and do not decide claims.
servers:
  - url: https://api.thewo.io
    description: Production
security:
  - ApiKey: []
tags:
  - name: ClaimReady
    description: Claim triage and customer-owned result retrieval.
paths:
  /v1/product-claims/{id}:
    get:
      tags:
        - ClaimReady
      summary: Retrieve a customer-owned triage
      description: >-
        Returns a resource owned by the authenticated customer. Resources owned
        by another customer are indistinguishable from missing resources. GET
        does not perform POST's entitlement check and adds no Usage metadata.
      operationId: getProductClaimTriage
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Customer-owned triage resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriageResource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Resource was not found for this customer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: claim_triage_not_found
                  message: Claim triage was not found.
                  requestId: req_123
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          description: Request context is unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Retrieval or rate-limit service is unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                retrievalUnavailable:
                  value:
                    error:
                      code: claim_triage_retrieval_unavailable
                      message: Claim triage could not be retrieved right now.
                      requestId: req_123
                rateLimitUnavailable:
                  value:
                    error:
                      code: rate_limit_unavailable
                      message: Rate-limit evaluation is temporarily unavailable.
                      requestId: req_123
components:
  schemas:
    TriageResource:
      type: object
      additionalProperties: false
      required:
        - id
        - status
        - input
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
        status:
          type: string
          const: completed
        input:
          type: object
          additionalProperties: false
          required:
            - claimDomain
            - claimType
            - product
            - purchaseDocumentSupplied
            - issue
            - evidenceSupplied
            - evidenceTypes
            - policyDocumentSupplied
          properties:
            claimDomain:
              $ref: '#/components/schemas/ClaimDomain'
            claimType:
              $ref: '#/components/schemas/ClaimType'
            product:
              $ref: '#/components/schemas/ProductInput'
            purchase:
              $ref: '#/components/schemas/PurchaseSnapshot'
            purchaseDocumentSupplied:
              type: boolean
            issue:
              type: object
              required:
                - description
              properties:
                description:
                  type: string
            evidenceSupplied:
              type: boolean
            evidenceTypes:
              type: array
              items:
                type: string
                enum:
                  - image
                  - document
            policy:
              $ref: '#/components/schemas/PolicySnapshot'
            policyDocumentSupplied:
              type: boolean
            language:
              type: string
              enum:
                - en
                - es
                - pt
        result:
          $ref: '#/components/schemas/TriageResult'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - requestId
          properties:
            code:
              type: string
            message:
              type: string
            requestId:
              type: string
            details:
              type: object
    ClaimDomain:
      type: string
      enum:
        - physical_product
        - insurance
        - personal_injury
        - medical_claim
        - vehicle_accident_liability
        - financial_dispute
        - legal_damages
        - bodily_harm
    ClaimType:
      type: string
      enum:
        - warranty
        - return
    ProductInput:
      type: object
      additionalProperties: false
      required:
        - name
      properties:
        name:
          type: string
        model:
          type: string
        serialNumber:
          type: string
        category:
          type: string
        manufacturer:
          type: string
        externalProductId:
          type: string
    PurchaseSnapshot:
      type: object
      additionalProperties: false
      properties:
        purchasedAt:
          type: string
          format: date
        seller:
          type: string
        externalOrderId:
          type: string
        amount:
          type: object
          properties:
            minorUnits:
              type: integer
            currency:
              type: string
              pattern: ^[A-Z]{3}$
    PolicySnapshot:
      type: object
      additionalProperties: false
      required:
        - policyType
      properties:
        externalPolicyId:
          type: string
        version:
          type: string
        policyType:
          type: string
          enum:
            - warranty
            - return
        text:
          type: string
        warrantyWindowDays:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        returnWindowDays:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        conditions:
          type: array
          items:
            type: string
        exclusions:
          type: array
          items:
            type: string
        requiredEvidence:
          type: array
          items:
            $ref: '#/components/schemas/RequiredEvidenceCode'
    TriageResult:
      type: object
      additionalProperties: false
      required:
        - claimType
        - apparentEligibility
        - reviewDisposition
        - policyMatches
        - missingEvidence
        - riskFlags
        - suggestedNextStep
        - confidence
      properties:
        claimType:
          $ref: '#/components/schemas/ClaimType'
        apparentEligibility:
          type: string
          enum:
            - potentially_eligible
            - potentially_ineligible
            - undetermined
        reviewDisposition:
          type: string
          enum:
            - review_ready
            - manual_review_required
            - additional_evidence_required
        policyMatches:
          type: array
          items:
            type: object
            required:
              - code
              - status
              - description
            properties:
              code:
                type: string
                enum:
                  - purchase_inside_warranty_window
                  - proof_of_purchase_available
                  - physical_damage_exclusion
              status:
                type: string
                enum:
                  - satisfied
                  - not_satisfied
                  - unknown
              description:
                type: string
        missingEvidence:
          type: array
          items:
            type: object
            required:
              - code
              - description
            properties:
              code:
                type: string
                enum:
                  - proof_of_purchase
                  - purchase_document
                  - purchase_date
                  - serial_number
                  - product_photo
                  - damage_photo
                  - applicable_policy
                  - technician_report
              description:
                type: string
        riskFlags:
          type: array
          items:
            type: object
            required:
              - code
            properties:
              code:
                type: string
                enum:
                  - evidence_inconsistent
                  - purchase_date_uncertain
                  - product_identity_uncertain
                  - policy_conflict
                  - damage_cause_unclear
                  - reported_timeline_inconsistent
                  - possible_misuse_signal
                  - duplicate_evidence_signal
        suggestedNextStep:
          type: object
          required:
            - code
          properties:
            code:
              type: string
              enum:
                - request_proof_of_purchase
                - request_product_serial_number
                - request_clearer_photographs
                - schedule_technical_inspection
                - manual_policy_review
                - continue_warranty_review
                - continue_return_review
            explanation:
              type: string
        confidence:
          type: number
          minimum: 0
          maximum: 1
    RequiredEvidenceCode:
      type: string
      enum:
        - proof_of_purchase
        - purchase_document
        - purchase_date
        - serial_number
        - product_photo
        - damage_photo
        - applicable_policy
        - technician_report
  responses:
    Unauthorized:
      description: API key is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Customer access is denied or POST entitlement is missing.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Rate limit or operation quota was exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.