AmTrust Financial Services Quotes API

Quote generation and management

OpenAPI Specification

amtrust-financial-services-quotes-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AmTrust Financial Services Commercial Lines Appetite Quotes API
  description: The AmTrust Commercial Lines API enables insurance agents, brokers, and technology partners to review appetite, generate quotes, and bind commercial lines policies. Supports workers' compensation, BOP, general liability, and commercial package across 300+ eligible class codes.
  version: 1.0.0
  contact:
    name: AmTrust API Support
    url: https://amtrustfinancial.com/api
  termsOfService: https://amtrustfinancial.com/terms-of-use
  x-generated-from: documentation
servers:
- url: https://api.amtrustservices.com
  description: AmTrust Production API
security:
- bearerAuth: []
tags:
- name: Quotes
  description: Quote generation and management
paths:
  /v1/quotes:
    post:
      operationId: createQuote
      summary: AmTrust Financial Services Create Quote
      description: Generate a commercial lines insurance quote for a given business. Supports workers' compensation, BOP, general liability, and commercial package products.
      tags:
      - Quotes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuoteRequest'
      responses:
        '201':
          description: Quote created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
              examples:
                createQuote201Example:
                  summary: Default createQuote 201 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
        '400':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                createQuote400Example:
                  summary: Default createQuote 400 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                createQuote401Example:
                  summary: Default createQuote 401 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: listQuotes
      summary: AmTrust Financial Services List Quotes
      description: Retrieve a list of quotes for the authenticated agent or broker account.
      tags:
      - Quotes
      parameters:
      - name: status
        in: query
        description: Filter quotes by status
        schema:
          type: string
          enum:
          - pending
          - quoted
          - bound
          - expired
      - name: page
        in: query
        description: Page number for pagination
        schema:
          type: integer
          default: 1
      - name: limit
        in: query
        description: Number of quotes per page
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: List of quotes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteListResponse'
              examples:
                listQuotes200Example:
                  summary: Default listQuotes 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                listQuotes401Example:
                  summary: Default listQuotes 401 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/quotes/{quote_id}:
    get:
      operationId: getQuote
      summary: AmTrust Financial Services Get Quote
      description: Retrieve the details of a specific quote by its ID.
      tags:
      - Quotes
      parameters:
      - name: quote_id
        in: path
        required: true
        description: Unique identifier of the quote
        schema:
          type: string
      responses:
        '200':
          description: Quote details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
              examples:
                getQuote200Example:
                  summary: Default getQuote 200 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
        '404':
          description: Quote not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                getQuote404Example:
                  summary: Default getQuote 404 response
                  x-microcks-default: true
                  value:
                    status: success
                    message: Operation completed
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ErrorResponse:
      type: object
      description: Error response
      properties:
        error:
          type: string
          description: Error code
          example: invalid_request
        message:
          type: string
          description: Human-readable error message
          example: Invalid class code for the specified state
        details:
          type: array
          items:
            type: string
          description: Additional error details
    Insured:
      type: object
      description: Business insured information
      required:
      - name
      - address
      - class_code
      properties:
        name:
          type: string
          description: Legal business name
          example: Acme Contracting LLC
        fein:
          type: string
          description: Federal Employer Identification Number
          example: 12-3456789
        class_code:
          type: string
          description: NCCI or state class code
          example: '8810'
        address:
          $ref: '#/components/schemas/Address'
        years_in_business:
          type: integer
          description: Years the business has been operating
          example: 5
        payroll:
          type: number
          description: Total annual payroll
          example: 750000
        employee_count:
          type: integer
          description: Total number of employees
          example: 25
    QuoteListResponse:
      type: object
      description: Paginated list of quotes
      properties:
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/QuoteResponse'
        total:
          type: integer
          description: Total number of quotes
          example: 42
        page:
          type: integer
          description: Current page
          example: 1
        limit:
          type: integer
          description: Items per page
          example: 20
    Coverage:
      type: object
      description: Coverage detail
      properties:
        type:
          type: string
          description: Coverage type
          example: employers_liability
        limit:
          type: number
          description: Coverage limit
          example: 1000000
        deductible:
          type: number
          description: Deductible amount
          example: 0
    Address:
      type: object
      description: Physical address
      required:
      - street
      - city
      - state
      - zip
      properties:
        street:
          type: string
          description: Street address
          example: 123 Main St
        city:
          type: string
          description: City
          example: Austin
        state:
          type: string
          description: State abbreviation
          example: TX
        zip:
          type: string
          description: ZIP code
          example: '78701'
    QuoteRequest:
      type: object
      description: Request to create a commercial lines quote
      required:
      - product_type
      - state
      - effective_date
      - insured
      properties:
        product_type:
          type: string
          description: Insurance product type
          enum:
          - workers_compensation
          - bop
          - general_liability
          - commercial_package
        state:
          type: string
          description: US state abbreviation
          example: TX
        effective_date:
          type: string
          format: date
          description: Policy effective date
          example: '2025-07-01'
        expiration_date:
          type: string
          format: date
          description: Policy expiration date
          example: '2026-07-01'
        insured:
          $ref: '#/components/schemas/Insured'
        coverages:
          type: array
          description: Requested coverage details
          items:
            $ref: '#/components/schemas/Coverage'
        agent_id:
          type: string
          description: AmTrust agent identifier
          example: AGT-12345
    QuoteResponse:
      type: object
      description: Quote response
      properties:
        quote_id:
          type: string
          description: Unique quote identifier
          example: QT-2025-78901
        status:
          type: string
          description: Quote status
          enum:
          - pending
          - quoted
          - bound
          - expired
          example: quoted
        premium:
          type: number
          description: Annual premium amount
          example: 8250.0
        product_type:
          type: string
          description: Insurance product type
          example: workers_compensation
        effective_date:
          type: string
          format: date
          description: Policy effective date
          example: '2025-07-01'
        expiration_date:
          type: string
          format: date
          description: Policy expiration date
          example: '2026-07-01'
        insured:
          $ref: '#/components/schemas/Insured'
        bind_online:
          type: boolean
          description: Whether this quote can be bound online
          example: true
        created_at:
          type: string
          format: date-time
          description: Quote creation timestamp
          example: '2025-03-15T14:30:00Z'
        expires_at:
          type: string
          format: date-time
          description: Quote expiration timestamp
          example: '2025-04-14T14:30:00Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token obtained from /oauth/token endpoint
externalDocs:
  description: AmTrust API Documentation
  url: https://amtrustfinancial.com/api