LeO

LeO Public API

REST API for account entitlements, credit balance, commercial-insurance prospect search across 134 filter properties, single-prospect retrieval, and asynchronous decision-maker contact enrichment with job polling. OpenAPI 3.0.0 published at https://api.meetleo.com/openapi.json and rendered by a Swagger UI at /docs. Bearer JWT auth; metered in credits with a 402 on exhaustion.

Operations 3

GET /v1/prospects/{prospectId} Get a single prospect by ID #
POST /v1/prospects/enrich Enrich prospects with contact data #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leo-public-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

leo-prospects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LeO Public Prospects API
  description: External API for account management, credits, prospect search, and contact enrichment This document carries only the `prospects` operations, split from LeO's published openapi.json.
  version: '1.0'
servers:
- url: https://api.meetleo.com
  description: 'LeO Public API production base (verified live 2026-08-14: GET /health -> 200, GET /openapi.json -> 200)'
tags:
- name: prospects
  description: Search, retrieve and enrich commercial-insurance prospects across LeO's insights database.
paths:
  /v1/prospects/search:
    post:
      operationId: ProspectsController_search
      summary: Search prospects
      description: "Synchronous search over the Leo insights database. Returns firmographics (employees, vertical, NAICS, website), and insurance signals (workers comp, OSHA, DOT, Form 5500, IRS 990 for non-profits).\n\n**When to use:** building a prospecting list, exploring market segments, or previewing match volume before paying for enrichment.\n\n**Does NOT consume enrichment credits.** Contacts are always `null` here — call `POST /v1/prospects/enrich` to get contact emails.\n\n**Example — Texas trucking fleets, 25–250 employees, with WC and DOT data:**\n```json\n{\n  \"filters\": [{\n    \"state\": [\"TX\"],\n    \"naicsList\": [\"484110\", \"484121\"],\n    \"minEmployeesNumber\": 25,\n    \"maxEmployeesNumber\": 250,\n    \"hasWc\": true,\n    \"hasDot\": true\n  }],\n  \"page\": 1,\n  \"limit\": 25\n}\n```"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchProspectsDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchProspectsResponseData'
        '401':
          description: Unauthorized
        '422':
          description: Validation error
        '429':
          description: Too many requests (HTTP API stage throttling or upstream limits)
      tags:
      - prospects
      security:
      - bearer: []
  /v1/prospects/{prospectId}:
    get:
      operationId: ProspectsController_getById
      summary: Get a single prospect by ID
      description: 'Returns full firmographic and insurance data for a single prospect.


        **Consumes 1 credit** per call (same as a 1-result search).


        Use `POST /v1/prospects/search` first to discover matching prospect IDs, then call this endpoint to fetch the full record.'
      parameters:
      - name: prospectId
        required: true
        in: path
        schema:
          type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProspectResponse'
        '401':
          description: Unauthorized
        '402':
          description: Insufficient credits
        '404':
          description: Prospect not found
        '429':
          description: Too many requests (HTTP API stage throttling or upstream limits)
      tags:
      - prospects
      security:
      - bearer: []
  /v1/prospects/enrich:
    post:
      operationId: ProspectsController_enrich
      summary: Enrich prospects with contact data
      description: "Asynchronous. Searches for matching prospects, reserves credits up to `maxProspects`, and queues a contact-enrichment job that resolves decision-maker emails and titles.\n\n**Flow:**\n1. POST this endpoint → **202 Accepted** with `taskId`, `pollUrl`, `creditsReserved`, `estimatedWaitSeconds` (~120s typical).\n2. Poll `GET /v1/jobs/{taskId}` every 5s until `data.status` is `completed` or `failed` (allow up to 5 minutes).\n3. Inspect per-prospect `enrichmentStatus`: `enriched` (email returned, credit charged), `no_email` (no contact found, no credit charged), `failed`.\n\n**Tip:** narrow filters return higher `enriched` rates. The same filter shape as `/v1/prospects/search` works here — preview with search first, then enrich.\n\n**Example — enrich up to 25 Texas trucking fleets:**\n```json\n{\n  \"filters\": [{\n    \"state\": [\"TX\"],\n    \"naicsList\": [\"484110\", \"484121\"],\n    \"minEmployeesNumber\": 25,\n    \"maxEmployeesNumber\": 250,\n    \"hasWc\": true,\n    \"hasDot\": true\n  }],\n  \"maxProspects\": 25\n}\n```"
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichProspectsDto'
      responses:
        '202':
          description: Accepted — poll GET /v1/jobs/{taskId} for results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichProspectsResponseData'
        '401':
          description: Unauthorized
        '402':
          description: Insufficient credits
        '422':
          description: No prospects match filters
        '429':
          description: Too many requests (HTTP API stage throttling or upstream limits)
      tags:
      - prospects
      security:
      - bearer: []
components:
  schemas:
    ProspectIrs990:
      type: object
      properties:
        reportType:
          type:
          - string
          - 'null'
          example: '990'
          description: IRS form variant filed (e.g. "990", "990-EZ", "990-PF").
        reportYear:
          type:
          - integer
          - 'null'
          example: 2024
        totalRevenue:
          type:
          - number
          - 'null'
          example: 12450000
          description: Total revenue in USD.
        totalExpenses:
          type:
          - number
          - 'null'
          example: 11820000
          description: Total expenses in USD.
        totalNetAssets:
          type:
          - number
          - 'null'
          example: 3650000
          description: Total net assets at fiscal year end, in USD.
        history:
          description: Up to 11 years of historical IRS total expenses, descending by year. Only present when the requesting user has the csvHasIrsHistoricalData entitlement.
          type: array
          items:
            $ref: '#/components/schemas/ProspectIrs990HistoryEntry'
      required:
      - reportType
      - reportYear
      - totalRevenue
      - totalExpenses
      - totalNetAssets
    SearchProspectsDto:
      type: object
      properties:
        filters:
          description: Filter group(s). Within a single object, conditions are **ANDed** together. Pass one object for a typical search — multiple objects are reserved for advanced segment combinations.
          example:
          - state:
            - TX
            naicsList:
            - '484110'
            - '484121'
            minEmployeesNumber: 25
            maxEmployeesNumber: 250
            hasWc: true
            hasDot: true
          type: array
          items:
            $ref: '#/components/schemas/SearchProspectsFiltersDto'
        page:
          type: integer
          description: 1-based page number
          example: 1
          minimum: 1
        limit:
          type: integer
          description: Results per page
          example: 25
          minimum: 1
          maximum: 100
    EnrichProspectsDto:
      type: object
      properties:
        filters:
          description: Filter group(s) selecting which prospects to enrich. Conditions inside one object are **ANDed**. Narrow filters return better contact match rates and avoid burning credits on `no_email` rows.
          example:
          - state:
            - TX
            naicsList:
            - '484110'
            - '484121'
            minEmployeesNumber: 25
            maxEmployeesNumber: 250
            hasWc: true
            hasDot: true
          type: array
          items:
            $ref: '#/components/schemas/SearchProspectsFiltersDto'
        maxProspects:
          type: number
          description: Cap on the number of prospects to enrich in this run (1–100). Credits reserved scale with this number — start small (e.g. 10) for new integrations.
          default: 100
          minimum: 1
          maximum: 100
          example: 25
      required:
      - filters
    ProspectResponse:
      type: object
      properties:
        prospectId:
          type: integer
          example: 8472193
        standardCompanyName:
          type: string
          example: Lone Star Freight Lines, Inc.
        state:
          type:
          - string
          - 'null'
          example: TX
        city:
          type:
          - string
          - 'null'
          example: Dallas
        zipCode:
          type:
          - string
          - 'null'
          example: '75201'
        address:
          type:
          - string
          - 'null'
          example: 4200 Stemmons Fwy
        primaryVertical:
          type:
          - string
          - 'null'
          example: Trucking
        naicsCode:
          type:
          - string
          - 'null'
          example: '484110'
        naicsList:
          type:
          - string
          - 'null'
          example: 484110, 484121
        ntee:
          type:
          - string
          - 'null'
          example: B82
          description: NTEE classification code. Only present when the requesting user has the nteeFilter entitlement.
        salesVolumeRange:
          type:
          - string
          - 'null'
          example: $10M–$25M
        hqPhone:
          type:
          - string
          - 'null'
          example: +1-214-555-0142
        ein:
          type:
          - string
          - 'null'
          example: 74-2918374
        employeeRange:
          type:
          - string
          - 'null'
          example: 50-249
        websiteUrl:
          type:
          - string
          - 'null'
          example: https://lonestarfreight.com
        linkedinUrl:
          type:
          - string
          - 'null'
          example: https://linkedin.com/company/lone-star-freight
        insurance:
          $ref: '#/components/schemas/ProspectInsurance'
        irs990:
          allOf:
          - $ref: '#/components/schemas/ProspectIrs990'
        xDatePredictions:
          description: Modeled renewal-date predictions. Only present when the requesting user has the xDatePredictions entitlement.
          allOf:
          - $ref: '#/components/schemas/XDatePredictions'
        benefitsRedFlags:
          description: Benefits Red Flags (38 risk indicators from Form 5500). Only present when the requesting user has the isBenefitsRedFlagFilter entitlement. Each flag is true (flagged), false (not flagged), or null (insufficient data). Paired benefitsRagFlagDescription* fields carry the explanation when a flag is triggered.
          allOf:
          - $ref: '#/components/schemas/BenefitsRedFlags'
        contacts:
          type:
          - object
          - 'null'
          example: null
          description: Always null in search response — use /v1/prospects/enrich for contacts
      required:
      - prospectId
      - standardCompanyName
      - state
      - city
      - zipCode
      - address
      - primaryVertical
      - naicsCode
      - naicsList
      - salesVolumeRange
      - hqPhone
      - ein
      - employeeRange
      - websiteUrl
      - linkedinUrl
      - insurance
      - irs990
      - contacts
    ProspectInsurance:
      type: object
      properties:
        wc:
          allOf:
          - $ref: '#/components/schemas/InsuranceLineData'
        pension:
          allOf:
          - $ref: '#/components/schemas/InsuranceLineData'
        benefits:
          allOf:
          - $ref: '#/components/schemas/InsuranceLineData'
        fidelityBond:
          type: boolean
          example: false
        osha:
          allOf:
          - $ref: '#/components/schemas/OshaData'
        dot:
          allOf:
          - $ref: '#/components/schemas/DotData'
      required:
      - wc
      - pension
      - benefits
      - fidelityBond
      - osha
      - dot
    DotData:
      type: object
      properties:
        units:
          type:
          - number
          - 'null'
          example: 87
          description: Number of power units (trucks/tractors) registered with FMCSA.
        drivers:
          type:
          - number
          - 'null'
          example: 112
          description: Number of CDL drivers registered with FMCSA.
        violations:
          type: boolean
          example: false
        bipdPrimary:
          allOf:
          - $ref: '#/components/schemas/DotInsuranceLine'
        bipdExcess:
          allOf:
          - $ref: '#/components/schemas/DotInsuranceLine'
        cargo:
          allOf:
          - $ref: '#/components/schemas/DotInsuranceLine'
        surety:
          allOf:
          - $ref: '#/components/schemas/DotInsuranceLine'
      required:
      - units
      - drivers
      - violations
      - bipdPrimary
      - bipdExcess
      - cargo
      - surety
    SearchProspectsFiltersDto:
      type: object
      properties:
        state:
          description: Two-letter US state code(s). Any prospect in *one of* these states matches.
          example:
          - TX
          - FL
          type: array
          items:
            type: string
        city:
          description: City name(s).
          example:
          - Houston
          - Dallas
          type: array
          items:
            type: string
        county:
          description: County name(s).
          example:
          - Harris
          - Dallas
          type: array
          items:
            type: string
        zip:
          description: 5-digit US ZIP code(s).
          example:
          - '75201'
          - '77002'
          type: array
          items:
            type: string
        naicsList:
          description: '6-digit NAICS code(s). Common P&C prospect verticals: 484110 (general freight trucking), 236220 (commercial construction), 238210 (electrical contractors), 722511 (full-service restaurants).'
          example:
          - '484110'
          - '484121'
          type: array
          items:
            type: string
        ntee:
          description: IRS NTEE code(s) for nonprofit classification.
          example:
          - A
          - B20
          type: array
          items:
            type: string
        vertical:
          description: 'Primary vertical(s). Examples: "Trucking", "Construction", "Manufacturing", "Restaurants".'
          example:
          - Trucking
          type: array
          items:
            type: string
        prospectName:
          type: string
          description: Fuzzy partial match on company name. Use this when you have a known target account.
          example: Swift Transportation
        websiteUrl:
          type: string
          description: Website domain or URL. Bare domain (no scheme) is preferred and matches subdomains too.
          example: swifttrans.com
        websiteDomain:
          type: string
          description: Exact website domain match (no scheme, no path).
          example: swifttrans.com
        ein:
          type: string
          description: Employer Identification Number (EIN).
          example: 12-3456789
        minEmployeesNumber:
          type: integer
          description: Inclusive lower bound on employee count.
          example: 10
        maxEmployeesNumber:
          type: integer
          description: Inclusive upper bound on employee count. Must be ≥ minEmployeesNumber when both are set.
          example: 250
        minSalesVolume:
          type: integer
          description: Inclusive lower bound on annual sales volume (USD).
          example: 1000000
        maxSalesVolume:
          type: integer
          description: Inclusive upper bound on annual sales volume (USD). Must be ≥ minSalesVolume when both are set.
          example: 50000000
        hasLinkedin:
          type: boolean
          description: Restrict to prospects with a LinkedIn profile.
          example: true
        hasWebsite:
          type: boolean
          description: Restrict to prospects with a website on file.
          example: true
        hasContactEmailEnriched:
          type: boolean
          description: Restrict to prospects that have had contact emails enriched.
          example: true
        hasWc:
          type: boolean
          description: Restrict to prospects with workers-compensation policy data on file. Strong signal for P&C cross-sell.
          example: true
        hasOsha:
          type: boolean
          description: Restrict to prospects with OSHA inspection/violation records.
          example: true
        hasOshaViolations:
          type: boolean
          description: Restrict to prospects with recorded OSHA violations.
          example: true
        wcCarrierNameList:
          description: WC carrier name(s) — exact matches within the WC carrier list.
          example:
          - Travelers
          - Zurich
          type: array
          items:
            type: string
        wcBrokerNameList:
          description: WC broker name(s) — exact matches within the WC broker list.
          example:
          - Marsh
          - Aon
          type: array
          items:
            type: string
        wcRenewalMonth:
          type: integer
          description: Single WC renewal month (1–12). Unlike `wcRenewalMonths`, this triggers nearest-x-date sorting so results are ordered by proximity to a target renewal date.
          example: 6
          minimum: 1
          maximum: 12
        wcRenewalMonths:
          description: Plain multi-month filter for WC renewal (1–12). Returns prospects whose WC policy renews in any of the listed months. Does not affect sort order — use `wcRenewalMonth` for nearest-date sorting.
          example:
          - 1
          - 4
          - 7
          - 10
          type: array
          items:
            type: number
        fromWcRenewalDate:
          type: string
          description: Earliest WC renewal date (ISO 8601).
          example: '2025-01-01'
          format: date
        toWcRenewalDate:
          type: string
          description: Latest WC renewal date (ISO 8601).
          example: '2025-12-31'
          format: date
        hasDot:
          type: boolean
          description: Restrict to prospects with FMCSA/DOT records (trucking, commercial auto). Pair with trucking NAICS for best results.
          example: true
        hasDotmcmxff:
          type: boolean
          description: Restrict to DOT carriers with MX/MF (Mexico cross-border) authority. MCMXFF = Motor Carrier Mexico authority or Form & Fitness.
          example: true
        hasDotViolations:
          type: boolean
          description: Restrict to DOT carriers with recorded violations.
          example: true
        hasDotbipdExcess:
          type: boolean
          description: Restrict to DOT carriers with Bodily Injury & Property Damage (BIPD) excess liability coverage on file.
          example: true
        hasDotbipdPrimary:
          type: boolean
          description: Restrict to DOT carriers with Bodily Injury & Property Damage (BIPD) primary liability coverage on file.
          example: true
        hasDotCargo:
          type: boolean
          description: Restrict to DOT carriers with cargo insurance on file.
          example: true
        hasDotSurety:
          type: boolean
          description: Restrict to DOT carriers with surety bond on file.
          example: true
        hasDotCoverages:
          type: boolean
          description: Restrict to DOT carriers with any DOT coverage on file.
          example: true
        hasDotTrust:
          type: boolean
          description: Restrict to DOT carriers with a DOT Trust filing.
          example: true
        dotNumber:
          type: string
          description: FMCSA DOT number.
          example: '123456'
        minDotDrivers:
          type: integer
          description: Inclusive lower bound on number of DOT drivers.
          example: 5
        maxDotDrivers:
          type: integer
          description: Inclusive upper bound on number of DOT drivers.
          example: 100
        minDotUnits:
          type: integer
          description: Inclusive lower bound on number of DOT power units.
          example: 5
        maxDotUnits:
          type: integer
          description: Inclusive upper bound on number of DOT power units.
          example: 100
        dotCarrierNameList:
          description: DOT carrier name(s) — exact matches within the DOT carrier list.
          example:
          - Progressive
          - Old Republic
          type: array
          items:
            type: string
        dotbipdMaxLimit:
          type: integer
          description: Maximum Bodily Injury & Property Damage (BIPD) liability limit on file (USD).
          example: 1000000
        dotbipdExcessRenewalMonth:
          type: integer
          description: DOT BIPD Excess policy renewal month (1–12).
          example: 6
          minimum: 1
          maximum: 12
        dotbipdPrimaryRenewalMonth:
          type: integer
          description: DOT BIPD Primary policy renewal month (1–12).
          example: 6
          minimum: 1
          maximum: 12
        dotTrustRenewalMonth:
          type: integer
          description: DOT Trust policy renewal month (1–12).
          example: 3
          minimum: 1
          maximum: 12
        dotCargoRenewalMonth:
          type: integer
          description: DOT Cargo policy renewal month (1–12).
          example: 3
          minimum: 1
          maximum: 12
        dotSuretyRenewalMonth:
          type: integer
          description: DOT Surety policy renewal month (1–12).
          example: 3
          minimum: 1
          maximum: 12
        predictedAutoXMonth:
          type: integer
          description: Predicted commercial auto policy renewal month (1–12).
          example: 6
          minimum: 1
          maximum: 12
        predictedGeneralLiabilityXMonth:
          type: integer
          description: Predicted general liability policy renewal month (1–12).
          example: 6
          minimum: 1
          maximum: 12
        has5500:
          type: boolean
          description: Restrict to prospects with any Form 5500 welfare/benefits filing.
          example: true
        hasBenefitsPension:
          type: boolean
          description: Restrict to prospects with Form 5500 pension records (defined-benefit pension exposure).
          example: true
        hasBenefitsWelfare:
          type: boolean
          description: Restrict to prospects with Form 5500 welfare plan filings.
          example: true
        has5500Contact:
          type: boolean
          description: Restrict to prospects with a Form 5500 signatory contact on file.
          example: true
        benefitsCarrierNameList:
          description: Benefits carrier name(s) — exact matches within the 5500 carrier list.
          example:
          - Aetna
          - UnitedHealthcare
          type: array
          items:
            type: string
        benefitsBrokerNameList:
          description: Benefits broker name(s) — exact matches within the 5500 broker list.
          example:
          - Mercer
          - Willis
          type: array
          items:
            type: string
        fromBenefitsRenewalDate:
          type: string
          description: Earliest benefits (pension/welfare) renewal date (ISO 8601).
          example: '2025-01-01'
          format: date
        toBenefitsRenewalDate:
          type: string
          description: Latest benefits (pension/welfare) renewal date (ISO 8601).
          example: '2025-12-31'
          format: date
        benefitsRenewalMonths:
          description: Benefits renewal month(s) (1–12) — matches pension or welfare renewal month.
          example:
          - 1
          - 7
          type: array
          items:
            type: number
        pensionRenewalMonth:
          type: integer
          description: Pension plan renewal month (1–12). Triggers nearest-x-date sorting.
          example: 1
          minimum: 1
          maximum: 12
        welfareRenewalMonth:
          type: integer
          description: Welfare plan renewal month (1–12). Triggers nearest-x-date sorting.
          example: 1
          minimum: 1
          maximum: 12
        minPensionParticipants:
          type: integer
          description: Inclusive lower bound on pension plan participant count.
          example: 50
        maxPensionParticipants:
          type: integer
          description: Inclusive upper bound on pension plan participant count.
          example: 500
        minWelfareParticipants:
          type: integer
          description: Inclusive lower bound on welfare plan participant count.
          example: 50
        maxWelfareParticipants:
          type: integer
          description: Inclusive upper bound on welfare plan participant count.
          example: 500
        minBenefitsTotalAssets:
          type: integer
          description: Inclusive lower bound on 5500 plan total assets (USD, end of year).
          example: 1000000
        maxBenefitsTotalAssets:
          type: number
          description: Inclusive upper bound on 5500 plan total assets (USD, end of year).
          example: 100000000
        benefitsServiceProviderList:
          description: Service provider name(s) listed on Schedule C of Form 5500.
          example:
          - Fidelity
          - Vanguard
          type: array
          items:
            type: string
        benefitsServiceProviderCode:
          type: string
          description: Single Form 5500 Schedule C service-provider relationship code. Use `benefitsServiceProviderCodes` for multi-code filtering.
          example: '15'
        benefitsServiceProviderCodes:
          description: Form 5500 Schedule C service-provider relationship code(s). Matches prospects with any of the listed codes. Superset of `benefitsServiceProviderCode`.
          example:
          - '15'
          - '50'
          type: array
          items:
            type: string
        benefitsServiceProviderCompensationMin:
          type: number
          description: Minimum service provider compensation amount (USD, Schedule C).
          example: 10000
        benefitsServiceProviderCompensationMax:
          type: number
          description: Maximum service provider compensation amount (USD, Schedule C).
          example: 500000
        latestBenefitsPlanYear:
          type: string
          description: Latest welfare plan year begin date (ISO 8601). Filters on the most recent 5500 welfare filing date.
          example: '2023-01-01'
        latestPensionPlanYear:
          type: string
          format: date
          description: Latest pension plan year begin date (ISO 8601).
          example: '2023-01-01'
        latestBenefitsSignatoryPolicyBegin:
          type: string
          format: date
          description: Latest welfare signatory first policy begin date (ISO 8601).
          example: '2022-01-01'
        latestPensionSignatoryPolicyBegin:
          type: string
          format: date
          description: Latest pension signatory first policy begin date (ISO 8601).
          example: '2022-01-01'
        latestBenefitsBrokeragePolicyBegin:
          type: string
          format: date
          description: Latest welfare broker first policy begin date (ISO 8601).
          example: '2022-01-01'
        latestPensionBrokeragePolicyBegin:
          type: string
          format: date
          description: Latest pension broker first policy begin date (ISO 8601).
          example: '2022-01-01'
        latestBenefitsCarrierPolicyBegin:
          type: string
          format: date
          description: Latest welfare carrier first policy begin date (ISO 8601).
          example: '2022-01-01'
        latestPensionCarrierPolicyBegin:
          type: string
          format: date
          description: Latest pension carrier first policy begin date (ISO 8601).
          example: '2022-01-01'
        hasOffline5500AiInsights:
          type: boolean
          description: Restrict to prospects with offline 5500 AI insights generated.
          example: true
        hasIrs:
          type: boolean
          description: Restrict to prospects with IRS Form 990 records (nonprofits).
          example: true
        irs501Ind:
          type: boolean
          description: Restrict to IRS 501(c) tax-exempt organizations.
          example: true
        fidelityBondInd:
          type: boolean
          description: Restrict to organizations with a fidelity bond indication on their 990.
          example: true
        irsFormType:
          type: string
          description: IRS form type (e.g. "990", "990-EZ", "990-PF").
          example: '990'
        has990Contact:
          type: boolean
          description: Restrict to nonprofits with directors/officers listed on the 990.
          example: true
        minIrsTotalRevenue:
          type: number
          description: Inclusive lower bound on IRS total revenue (USD).
          example: 500000
        maxIrsTotalRevenue:
          type: number
          description: Inclusive upper bound on IRS total revenue (USD).
          example: 10000000
        minIrsTotalExpenses:
          type: number
          description: Inclusive lower bound on IRS total expenses (USD).
          example: 500000
        maxIrsTotalExpenses:
          type: number
          description: Inclusive upper bound on IRS total expenses (USD).
          example: 10000000
        minIrsTotalNetIncome:
          type: number
          description: Inclusive lower bound on IRS net income (USD).
          example: 0
        maxIrsTotalNetIncome:
          type: number
          description: Inclusive upper bound on IRS net income (USD).
          example: 5000000
        minIrsTotalNetAssets:
          type: integer
          description: Inclusive lower bound on IRS total net assets (USD).
          example: 1000000
        maxIrsTotalNetAssets:
          type: integer
          description: Inclusive upper bound on IRS total net assets (USD).
          example: 50000000
        minIrsGrossReceipts:
          type: number
          description: Inclusive lower bound on IRS gross receipts (USD).
          example: 500000
        maxIrsGrossReceipts:
          type: number
          description: Inclusive upper bound on IRS gross receipts (USD).
          example: 10000000
        benefitsRagFlagComplianceAmendmentNeeded:
          type: boolean
          description: 'Restrict to prospects flagged for: Compliance Amendment Needed.'
          example: true
        benefitsRagFlagCorrectiveDistributions:
          type: boolean
          description: 'Restrict to prospects flagged for: Corrective Distributions.'
          example: true
        benefitsRagFlagDecliningPlanAssets:
          type: boolean
          description: 'Restrict to prospects flagged for: Declining Plan Assets.'
          example: true
        benefitsRagFlagDelinquentContributions:
          type: boolean
          description: 'Restrict to prospects flagged for: Delinquent Contributions.'
          example: true
        benefitsRagFlagExcessiveServiceProviderFees:
          type: boolean
          description: 'Restrict to prospects flagged for: Excessive Service Provider Fees.'
          example: true
        benefitsRagFlagFidelityBondTooLow:
          type: boolean
          description: 'Restrict to prospects flagged for: Fidelity Bond Too Low.'
          example: true
        benefitsRagFlagFrozenPlan:
          type: boolean
          description: 'Restrict to prospects flagged for: Frozen Plan.'
          example: true
        benefitsRagFlagHas5500Audit:
          type: boolean
          description: 'Restrict to prospects flagged for: Has 5500 Audit.'
          example: true
        benefitsRagFlagHighAverageAccountBalance:
          type: boolean
          description: 'Restrict to prospects flagged for: High Average Account Balance.'
          example: true
        benefitsRagFlagHighBrokerCommissionRate:
          type: boolean
          description: 'Restrict to prospects flagged for: High Broker Commission Rate.'
          e

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leo/refs/heads/main/openapi/leo-prospects-api-openapi.yml