Renters Insurance API

The Renters Insurance API from State Farm Insurance Companies enables property management platforms, multifamily housing operators, and partner aggregators to embed State Farm renters insurance into their tenant onboarding flows. State Farm is the number one writer of renters insurance in the US. Partners can request quotes, bind policies, and retrieve policy status through this API. Coverage is underwritten by the appropriate State Farm subsidiary for each state jurisdiction.

OpenAPI Specification

state-farm-insurance-cos-renters-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: State Farm Insurance Companies Renters API
  description: >-
    The State Farm Renters Insurance API enables partner platforms including property
    management companies, real estate applications, multifamily housing operators, and
    insurance aggregators to embed State Farm renters insurance quoting and policy issuance
    directly into their tenant onboarding workflows. State Farm is the number one writer
    of renters insurance in the United States. This API supports quote requests, coverage
    selection, policy binding, and policy status retrieval. Renters insurance through State
    Farm covers personal belongings, liability protection, and additional living expenses.
    Available in all US states except California, Massachusetts, and Rhode Island.
  version: 1.0.0
  contact:
    name: State Farm Partner Gateway
    url: https://developer.statefarm.com
  termsOfService: https://www.statefarm.com/customer-care/legal-disclaimer
  license:
    name: Proprietary
    url: https://developer.statefarm.com/faq
servers:
  - url: https://api.statefarm.com/v1
    description: State Farm API Production
tags:
  - name: Quotes
    description: Renters insurance quote operations
  - name: Policies
    description: Renters insurance policy operations
  - name: Coverage
    description: Coverage options and details
security:
  - OAuth2:
      - renters:quote
      - renters:policy:read
      - renters:policy:write
paths:
  /renters/quotes:
    post:
      operationId: createRentersQuote
      summary: Create Renters Insurance Quote
      description: >-
        Request a renters insurance quote for a prospective tenant. Provide the property
        address, desired coverage amounts, and tenant information to receive a State Farm
        renters insurance quote with premium details and coverage options.
      tags:
        - Quotes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteRequest'
      responses:
        '201':
          description: Quote successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Quote cannot be issued for this location
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /renters/quotes/{quoteId}:
    get:
      operationId: getRentersQuote
      summary: Get Renters Insurance Quote
      description: Retrieve details of a previously created renters insurance quote by its ID.
      tags:
        - Quotes
      parameters:
        - name: quoteId
          in: path
          description: Unique quote identifier
          required: true
          schema:
            type: string
            example: QT-2026-789456
      responses:
        '200':
          description: Quote details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '404':
          description: Quote not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /renters/policies:
    post:
      operationId: createRentersPolicy
      summary: Bind Renters Insurance Policy
      description: >-
        Convert an accepted renters insurance quote into a bound policy. This initiates
        the policy issuance process with State Farm. Requires a valid quote ID and
        confirmed payment method.
      tags:
        - Policies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyBindRequest'
      responses:
        '201':
          description: Policy successfully bound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyResponse'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Quote not found or expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Quote already bound or expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /renters/policies/{policyNumber}:
    get:
      operationId: getRentersPolicy
      summary: Get Renters Insurance Policy
      description: >-
        Retrieve the status and details of a renters insurance policy by policy number.
        Returns current coverage, premium, effective dates, and policyholder information.
      tags:
        - Policies
      parameters:
        - name: policyNumber
          in: path
          description: State Farm policy number
          required: true
          schema:
            type: string
            example: 987-6543-B12
      responses:
        '200':
          description: Policy details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyResponse'
        '404':
          description: Policy not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'

  /renters/coverage-options:
    get:
      operationId: listCoverageOptions
      summary: List Coverage Options
      description: >-
        Retrieve available renters insurance coverage options and limits available
        through State Farm, including personal property coverage amounts, liability
        limits, deductible options, and optional add-on coverages.
      tags:
        - Coverage
      parameters:
        - name: state
          in: query
          description: Two-letter US state code to get state-specific coverage options
          required: false
          schema:
            type: string
            pattern: '^[A-Z]{2}$'
            example: IL
      responses:
        '200':
          description: Available coverage options
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoverageOptionsResponse'

components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.statefarm.com/oauth/token
          scopes:
            renters:quote: Create and retrieve renters insurance quotes
            renters:policy:read: Read renters insurance policy details
            renters:policy:write: Bind and manage renters insurance policies

  schemas:
    QuoteRequest:
      type: object
      required:
        - propertyAddress
        - tenantInfo
        - coverageOptions
      description: Request body for creating a renters insurance quote
      properties:
        propertyAddress:
          $ref: '#/components/schemas/Address'
        tenantInfo:
          $ref: '#/components/schemas/TenantInfo'
        coverageOptions:
          $ref: '#/components/schemas/CoverageSelection'
        effectiveDate:
          type: string
          format: date
          description: Desired policy effective date
          example: '2026-06-01'

    QuoteResponse:
      type: object
      description: Renters insurance quote details
      properties:
        quoteId:
          type: string
          description: Unique quote identifier
          example: QT-2026-789456
        status:
          type: string
          description: Quote status
          enum:
            - PENDING
            - READY
            - ACCEPTED
            - EXPIRED
            - DECLINED
          example: READY
        annualPremium:
          type: number
          format: double
          description: Annual premium amount in USD
          example: 186.00
        monthlyPremium:
          type: number
          format: double
          description: Monthly premium amount in USD
          example: 15.50
        coverageSummary:
          $ref: '#/components/schemas/CoverageSelection'
        propertyAddress:
          $ref: '#/components/schemas/Address'
        validUntil:
          type: string
          format: date-time
          description: Date and time the quote expires
          example: '2026-05-16T23:59:59Z'
        quoteNumber:
          type: string
          description: Human-readable quote number for reference
          example: '2026-Q-987654'

    PolicyBindRequest:
      type: object
      required:
        - quoteId
        - paymentMethod
        - paymentFrequency
      description: Request to bind a renters insurance policy from a quote
      properties:
        quoteId:
          type: string
          description: Quote ID to bind into a policy
          example: QT-2026-789456
        paymentMethod:
          type: string
          description: Payment method type
          enum:
            - CREDIT_CARD
            - BANK_DRAFT
            - ELECTRONIC_CHECK
          example: BANK_DRAFT
        paymentFrequency:
          type: string
          description: How often premiums are billed
          enum:
            - MONTHLY
            - ANNUALLY
          example: MONTHLY
        effectiveDate:
          type: string
          format: date
          description: Policy effective date
          example: '2026-06-01'
        additionalInterests:
          type: array
          description: Additional interest parties (e.g., landlords, lenders)
          items:
            $ref: '#/components/schemas/AdditionalInterest'

    PolicyResponse:
      type: object
      description: Renters insurance policy details
      properties:
        policyNumber:
          type: string
          description: State Farm policy number
          example: 987-6543-B12
        status:
          type: string
          description: Policy status
          enum:
            - ACTIVE
            - PENDING
            - CANCELLED
            - EXPIRED
            - LAPSED
          example: ACTIVE
        effectiveDate:
          type: string
          format: date
          description: Policy effective date
          example: '2026-06-01'
        expirationDate:
          type: string
          format: date
          description: Policy expiration date
          example: '2027-06-01'
        annualPremium:
          type: number
          format: double
          description: Annual premium amount in USD
          example: 186.00
        monthlyPremium:
          type: number
          format: double
          description: Monthly premium amount in USD
          example: 15.50
        coverageSummary:
          $ref: '#/components/schemas/CoverageSelection'
        insuredName:
          type: string
          description: Full name of the primary insured
          example: Jane Smith
        propertyAddress:
          $ref: '#/components/schemas/Address'

    CoverageSelection:
      type: object
      description: Renters insurance coverage selections
      properties:
        personalPropertyLimit:
          type: integer
          description: Personal property coverage limit in USD
          example: 25000
        liabilityLimit:
          type: integer
          description: Personal liability coverage limit in USD
          example: 100000
        medicalPaymentsLimit:
          type: integer
          description: Medical payments to others limit in USD
          example: 1000
        deductible:
          type: integer
          description: Policy deductible amount in USD
          example: 1000
        additionalLivingExpenses:
          type: boolean
          description: Whether additional living expenses coverage is included
          example: true
        identityRestorationCoverage:
          type: boolean
          description: Whether identity restoration coverage is included
          example: false

    CoverageOptionsResponse:
      type: object
      description: Available coverage options and limits
      properties:
        personalPropertyLimits:
          type: array
          description: Available personal property coverage amounts in USD
          items:
            type: integer
          example:
            - 15000
            - 25000
            - 50000
            - 75000
            - 100000
        liabilityLimits:
          type: array
          description: Available liability coverage limits in USD
          items:
            type: integer
          example:
            - 100000
            - 300000
            - 500000
        deductibleOptions:
          type: array
          description: Available deductible amounts in USD
          items:
            type: integer
          example:
            - 500
            - 1000
            - 2000
        optionalCoverages:
          type: array
          description: Optional add-on coverages available
          items:
            type: object
            properties:
              code:
                type: string
                example: IDENTITY_RESTORATION
              name:
                type: string
                example: Identity Restoration Coverage
              description:
                type: string
                example: Coverage for identity theft restoration expenses

    TenantInfo:
      type: object
      required:
        - firstName
        - lastName
        - dateOfBirth
      description: Tenant/applicant personal information
      properties:
        firstName:
          type: string
          example: Jane
        lastName:
          type: string
          example: Smith
        dateOfBirth:
          type: string
          format: date
          example: '1990-03-15'
        email:
          type: string
          format: email
          example: [email protected]
        phone:
          type: string
          example: '555-867-5309'

    Address:
      type: object
      required:
        - street
        - city
        - state
        - zipCode
      description: US property address
      properties:
        street:
          type: string
          description: Street address including unit number
          example: 123 Main St, Apt 4B
        city:
          type: string
          description: City name
          example: Chicago
        state:
          type: string
          description: Two-letter US state code
          example: IL
        zipCode:
          type: string
          description: ZIP or ZIP+4 postal code
          example: '60601'

    AdditionalInterest:
      type: object
      description: Additional interest party on the policy
      properties:
        type:
          type: string
          description: Type of additional interest
          enum:
            - LANDLORD
            - PROPERTY_MANAGEMENT
            - LENDER
            - OTHER
          example: LANDLORD
        name:
          type: string
          description: Name of the additional interest party
          example: Acme Property Management LLC
        address:
          $ref: '#/components/schemas/Address'

    Error:
      type: object
      description: Error response
      properties:
        code:
          type: string
          description: Error code
          example: INVALID_STATE
        message:
          type: string
          description: Human-readable error message
          example: Renters insurance is not available in the requested state.
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string