1Fort quote_ai (v2) API

**Access:** requires a JWT access token.

OpenAPI Specification

1fort-quote-ai-v2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 1Fort API Documentation quote_ai (v2) quote_ai (v2) API
  description: '# 1Fort API


    REST API for the 1Fort insurance platform. This document is the authoritative

    map of the API surface; endpoints are grouped in the sidebar by **app** and

    **version**, and large apps are split into per-resource sub-groups.


    ## Authentication


    Almost every endpoint requires a **JWT access token**. Send it in the

    `Authorization` header as either `Bearer <token>` or `JWT <token>`. Tokens may

    also be presented as an HTTP-only cookie. Endpoints documented with no security

    requirement are intentionally public (for example sign-in, OTP and storefront

    endpoints).


    ## Multi-tenancy


    Resources are scoped to a tenant. Nested routes carry the owning resource id in

    the path (for example `/v2/broker/{business_pk}/applications`); a token is only

    authorised for the businesses its user may access. Object-level permissions are

    enforced per endpoint.


    ## Versioning


    `v2` endpoints live under `/apis/v2/...` and are the current surface. `v1`

    endpoints remain documented for compatibility. Endpoints marked **deprecated**

    are scheduled for removal; prefer the documented replacement.

    '
  termsOfService: https://www.1fort.com/
  license:
    name: Privately owned
  version: v1
servers:
- url: https://api.1fort.com/apis/
security:
- Bearer: []
tags:
- name: quote_ai (v2)
  x-displayName: AI
  description: '**Access:** requires a JWT access token.'
paths:
  /v2/broker/{business_pk}/coverages/{coverage_application_pk}/analyze-quotes:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: coverage_application_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_coverages_analyze-quotes_list
      description: ''
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteAnalysisFlex'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: List Analyze quotes
  /v2/broker/{business_pk}/coverages/{coverage_application_pk}/analyze-quotes/{id}:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: coverage_application_pk
      in: path
      required: true
      schema:
        type: string
    - name: id
      in: path
      description: A UUID string identifying this quote analysis.
      required: true
      schema:
        type: string
        format: uuid
    get:
      operationId: v2_broker_coverages_analyze-quotes_read
      description: ''
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteAnalysisFlex'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '404':
          description: Object does not exist or caller has insufficient permissions to access it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIException'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Retrieve Analyze quote
  /v2/broker/{business_pk}/coverages/{coverage_application_pk}/chat:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: coverage_application_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_coverages_chat_list
      description: ''
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: List Chat
    post:
      operationId: v2_broker_coverages_chat_create
      description: ''
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteChatMessage'
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Create Chat
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteChatMessage'
        required: true
  /v2/broker/{business_pk}/coverages/{coverage_application_pk}/chat/uploaded-files:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: coverage_application_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_coverages_chat_uploaded_files
      description: Get list of files uploaded to this chat session.
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Uploaded files
  /v2/broker/{business_pk}/policy-chat:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_policy-chat_list
      description: ''
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: List Policy chat
    post:
      operationId: v2_broker_policy-chat_create
      description: ''
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteChatMessage'
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Create Policy chat
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteChatMessage'
        required: true
  /v2/broker/{business_pk}/policy-chat/uploaded-files:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_policy-chat_uploaded_files
      description: Get list of files uploaded to this chat session.
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Uploaded files
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/chat:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_quote-policies_chat_list
      description: ''
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: List Chat
    post:
      operationId: v2_broker_quote-policies_chat_create
      description: ''
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteChatMessage'
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Create Chat
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteChatMessage'
        required: true
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/chat/uploaded-files:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_quote-policies_chat_uploaded_files
      description: Get list of files uploaded to this chat session.
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Uploaded files
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/policy-check-chat:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_quote-policies_policy-check-chat_list
      description: ViewSet for chatting about policy check results and document mismatches.
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: List Policy check chat
    post:
      operationId: v2_broker_quote-policies_policy-check-chat_create
      description: ViewSet for chatting about policy check results and document mismatches.
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteChatMessage'
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Create Policy check chat
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteChatMessage'
        required: true
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/policy-check-chat/uploaded-files:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_quote-policies_policy-check-chat_uploaded_files
      description: Get list of files uploaded to this chat session.
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Uploaded files
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/policy-check/check:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: v2_broker_quote-policies_policy-check_check
      description: 'Get or create policy check results.

        Returns cached results if available and status is COMPLETED.'
      responses:
        '201':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Check
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/policy-check/refresh:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    post:
      operationId: v2_broker_quote-policies_policy-check_refresh
      description: Force refresh by deleting existing cache and re-running the policy check.
      responses:
        '201':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Refresh
  /v2/broker/{business_pk}/quote-policies/{quote_policy_pk}/policy-check/status:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_policy_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_quote-policies_policy-check_status
      description: 'Check the status of a policy check.

        Returns the status and results if completed.'
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Status
  /v2/broker/{business_pk}/quotes/{quote_pk}/chat:
    parameters:
    - name: business_pk
      in: path
      required: true
      schema:
        type: string
    - name: quote_pk
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: v2_broker_quotes_chat_list
      description: ''
      parameters:
      - name: search
        in: query
        description: A search term.
        required: false
        schema:
          type: string
      - name: ordering
        in: query
        description: Which field to use when ordering the results.
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/QuoteChatMessage'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: List Chat
    post:
      operationId: v2_broker_quotes_chat_create
      description: ''
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteChatMessage'
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '403':
          description: Authentication credentials were invalid, absent or insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '500':
          description: Internal server error.
      tags:
      - quote_ai (v2)
      summary: Create Chat
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteChatM

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/1fort/refs/heads/main/openapi/1fort-quote-ai-v2-api-openapi.yml