handlediq-com Cancel Booking API

The Cancel Booking API from handlediq-com — 1 operation(s) for cancel booking.

Operations 1

POST /api/cancel_booking Cancel the visit #

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/handlediq-com:handlediq-com-cancel-booking-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 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 Specification

handlediq-com-cancel-booking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 'HandledIQ: find and book home service Cancel Booking 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: Cancel Booking
paths:
  /api/cancel_booking:
    post:
      operationId: cancel_booking
      summary: Cancel the visit
      description: 'Cancels a booked visit when the person asks and confirms in this conversation, free under the shop''s own terms: within 3 days of booking, and before the visit; nothing is owed. Side effects: the visit comes off the shop''s schedule, and the shop texts the person that their assistant cancelled it. It cannot be undone here: to book again, get a new quote. Past those terms the person calls the shop. Calling again sends no second text.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                quote_id:
                  type: string
                  description: The quote_id find_help or get_quote gave, for a booked visit.
              required:
              - quote_id
              additionalProperties: false
      responses:
        '200':
          description: Answered.
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  properties:
                    ok:
                      const: true
                  required:
                  - ok
                - type: object
                  properties:
                    quote_id:
                      type: string
                    state:
                      type: string
                      enum:
                      - priced
                      - waits_for_owner
                      - waiting
                      - ran_out
                      - declined
                      - booked
                      - canceled
                      - closed
                    said:
                      type: string
                    held_until:
                      type: string
                      format: date-time
                    minutes_left:
                      type: integer
                    visit:
                      type: object
                      description: 'The booked visit as it stands now: its time, its tech, and what has happened since the yes.'
                      properties:
                        when:
                          type: string
                        starts_at:
                          type: string
                          format: date-time
                        ends_at:
                          type: string
                          format: date-time
                        tech:
                          type:
                          - string
                          - 'null'
                        now:
                          type: string
                          enum:
                          - scheduled
                          - on_the_way
                          - arrived
                          - finished
                          - canceled
                          description: Where the visit has got to, from the tech's own taps and the visit's close.
                        on_the_way_at:
                          type: string
                          format: date-time
                        arrived_at:
                          type: string
                          format: date-time
                        finished_at:
                          type: string
                          format: date-time
                        canceled_at:
                          type: string
                          format: date-time
                        promise:
                          type: object
                          description: 'The time promised now, and how the arrival measured against it: open (its time has not ended), kept (arrived inside it), early or late (by minutes), missed, canceled, or unrecorded.'
                          properties:
                            window_start:
                              type: string
                              format: date-time
                            window_end:
                              type: string
                              format: date-time
                            standing:
                              type: string
                              enum:
                              - open
                              - kept
                              - early
                              - late
                              - missed
                              - canceled
                              - unrecorded
                            minutes:
                              type: integer
                          required:
                          - window_start
                          - window_end
                          - standing
                      required:
                      - when
                      - starts_at
                      - ends_at
                    change:
                      type: object
                      description: 'A change the person''s assistant asked for once booked: a cancel (done at once, free under the shop''s terms), or a move (the shop texted the person a link, and done once they picked a new time).'
                      properties:
                        asked:
                          type: string
                          enum:
                          - cancel
                          - move
                        asked_at:
                          type: string
                          format: date-time
                        texted_at:
                          type: string
                          format: date-time
                        done:
                          type: boolean
                      required:
                      - asked
                      - asked_at
                      - done
                  required:
                  - quote_id
                  - state
                  - said
        '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:
      - Cancel Booking
components:
  schemas:
    Failure:
      type: object
      properties:
        ok:
          const: false
        error:
          type: string
      required:
      - ok
      - error