handlediq-com Find Help API
The Find Help API from handlediq-com — 1 operation(s) for find help.
The Find Help API from handlediq-com — 1 operation(s) for find help.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/handlediq-com:handlediq-com-find-help-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: 'HandledIQ: find and book home service Find Help API'
version: 1.4.1
description: 'HandledIQ runs home service shops (heating and cooling, plumbing, electrical, roofing, pest control, junk removal, demolition and more). For a person''s own AI assistant: find_help with what they need and their ZIP finds the shops near them that do it, each with its own book price, all in, its soonest real open time and its signed record (work finished, callbacks, arrivals kept, ratings). hold_time holds one shop''s time for 10 minutes and that shop texts the person a link; the visit is booked only when the person books it on the shop''s page, never on your word. booking_status says whether they did. Once booked, move_booking has the shop text the person a link to pick a new time, and cancel_booking cancels for free within 3 days of booking, before the visit. Every price is all in, paid after the work. request_service with a shop''s business_id opens HandledIQ''s quote window on it, where the person does the same themselves; get_quote gives one shop''s price and times by its business_id. The same calls speak MCP at https://app.handlediq.com/agents/mcp.'
servers:
- url: https://app.handlediq.com/agents
tags:
- name: Find Help
paths:
/api/find_help:
post:
operationId: find_help
summary: Find a shop near the person
description: 'Finds up to 3 shops on HandledIQ near a US ZIP code that do what the person needs, soonest open time first: each with its own book prices (all in, US dollars), their terms, its soonest open times, its service record and a quote_id for hold_time. Use it when the person needs home service at a US house: heating and cooling, plumbing, electrical, roofing, pest control, junk removal, demolition and more. An empty list means no shop on HandledIQ takes that work near that ZIP yet. Sends nothing to anyone.'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
need:
type: string
description: 'What the person needs, in a line, like: AC not cooling, a roof leak, ants in the kitchen, or a couch to haul away.'
zip:
type: string
description: The house's 5-digit US ZIP code.
assistant:
type: string
description: Your own name, as the person you act for knows you, like ChatGPT, Claude or Muse. It goes in the text the shop sends them.
budget_dollars:
type: number
description: Optional. The most the person wants to pay, in dollars.
day:
type: string
description: Optional. The first day that works for the person, YYYY-MM-DD.
include_signed_records:
type: boolean
description: Optional. true adds each shop's signed record and the keys to check it with verify_record, a few thousand characters per shop. Leave it out unless the person asks for proof.
required:
- need
- zip
- assistant
additionalProperties: false
responses:
'200':
description: Answered.
content:
application/json:
schema:
allOf:
- type: object
properties:
ok:
const: true
required:
- ok
- type: object
properties:
zip:
type: string
shops:
type: array
items:
type: object
properties:
shop:
type: string
business_id:
type: string
quote_id:
type: string
visit:
type: boolean
currency:
type: string
enum:
- USD
description: Every amount is US dollars.
prices:
type: array
items:
type: object
properties:
option_id:
type: string
name:
type: string
detail:
type: string
price_cents:
type: integer
price:
type: string
within_budget:
type: boolean
required:
- option_id
- name
- price_cents
- price
terms:
type: object
description: 'The terms every price here comes with: all in with no fees, paid after the work, and free to cancel within cancel_free_days of booking, before the visit.'
properties:
all_in:
type: boolean
fees_cents:
type: integer
pay:
type: string
enum:
- after_the_work
cancel_free_days:
type: integer
words:
type: string
required:
- all_in
- fees_cents
- pay
- cancel_free_days
- words
soonest:
type: object
properties:
time_id:
type: string
when:
type: string
description: 'The time in the shop''s own time zone (time_zone), like: Today, 8 to 10 AM or Thu, Oct 22, 8 to 10 AM. Today is the shop''s today.'
time_zone:
type: string
description: 'The shop''s time zone, like: America/Chicago.'
label:
type: string
description: 'The time as a button says it, like: Wed 8 to 10 AM.'
starts_at:
type: string
format: date-time
ends_at:
type: string
format: date-time
tech:
type:
- string
- 'null'
required:
- time_id
- when
- starts_at
- ends_at
times:
type: array
items:
type: object
properties:
time_id:
type: string
when:
type: string
description: 'The time in the shop''s own time zone (time_zone), like: Today, 8 to 10 AM or Thu, Oct 22, 8 to 10 AM. Today is the shop''s today.'
time_zone:
type: string
description: 'The shop''s time zone, like: America/Chicago.'
label:
type: string
description: 'The time as a button says it, like: Wed 8 to 10 AM.'
starts_at:
type: string
format: date-time
ends_at:
type: string
format: date-time
tech:
type:
- string
- 'null'
required:
- time_id
- when
- starts_at
- ends_at
holds_times:
type: boolean
record:
type:
- object
- 'null'
description: 'The shop''s service record: counts from its own records (work finished, callbacks by cause, arrivals kept, houses served again, homeowner ratings, guarantee), each with how many records it rests on. Null until its owner shares it.'
signed_record:
type: string
description: The record as a W3C Verifiable Credential in a compact JWS (typ vc+jwt, alg Ed25519) over its RFC 8785 form.
door:
type: string
required:
- shop
- business_id
- quote_id
- currency
- prices
- terms
- soonest
- door
check_records:
type: object
description: 'Only with include_signed_records: how to check each signed_record, every shop''s key by its issuer''s address.'
next:
type: string
required:
- zip
- shops
- next
'400':
description: The arguments were not a JSON object.
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
'404':
description: No such quote or shop.
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
'409':
description: 'Not now: the quote''s state or the time changed.'
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
'422':
description: An argument to fix; the error says which.
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
'429':
description: Too many calls; the error says when to come back.
content:
application/json:
schema:
$ref: '#/components/schemas/Failure'
tags:
- Find Help
components:
schemas:
Failure:
type: object
properties:
ok:
const: false
error:
type: string
required:
- ok
- error