handy Bookings API

The Bookings API from handy — 1 operation(s) for bookings.

Operations 1

GET /api/v1/bookings/{id} SHOW

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/handy-bookings-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

handy-bookings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Handy’s Partner Bookings API
  description: "<p>The Handy Partner API offers retailers fixed price installation\nservices that can be added to their eCommerce site or in-store checkout experience.\nTo start using the Handy Partner API, contact partners-eng@handy.com in order to\n        get access to the Sandbox.</p>\n        <p>Once you are ready to move to prod, we will walk you through quick authentication steps.</p>"
  version: v1
  contact: partnerships@handy.com
servers:
- url: https://partners.services.handy.com
tags:
- name: Bookings
paths:
  /api/v1/bookings/{id}:
    get:
      summary: SHOW
      tags:
      - Bookings
      description: "This endpoint provides information for a booking which has been scheduled for an Angi service.\n It takes in a booking ID as a path parameter and returns details about this booking. \nThe booking ID associated with a purchased service can be retrieved using the following endpoints:\n* [/api/v1/orders/{partner_order_id}](#tag/Orders/paths/~1api~1v1~1orders~1{partner_order_id}/get) \n* [/api/v1/orders](#tag/Orders/paths/~1api~1v1~1orders/get)"
      parameters:
      - name: HDY-PARTNER-ID
        in: header
        description: Your assigned partner ID
        example: partner_name
        schema:
          type: string
      - name: HDY-TIMESTAMP
        in: header
        description: Seconds since epoch UTC
        example: '1525361611'
        schema:
          type: string
      - name: HDY-SIGNATURE
        in: header
        description: 'Signature generated using your private key.

          Click <a href=''https://github.com/Handybook/API-Request-Signing'' target=''_blank''>here</a> to learn how.'
        example: OF5xI0LbLXHkFBLyNa8l..XHk=
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: The Booking's id
        example: dj327393v614875
        schema:
          type: string
      responses:
        '200':
          description: Booking found
          content:
            application/json:
              schema:
                type: object
                $ref: '#/components/schemas/booking_response'
        '400':
          description: Bad Request. Check auth credentials for your partner.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Access denied.
                  code:
                    type: string
                    example: forbidden_access_denied
                  error_uuid:
                    $ref: '#/components/schemas/error_uuid'
                  more_info:
                    type: object
                    example:
                      code: forbidden_access_denied
                      data:
                      - detail: Forbidden.
        '404':
          description: Booking not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Not found
                  code:
                    type: string
                    example: booking_not_found
                  more_info:
                    type: string
                    example: An unexpected error has occurred.
                  error_uuid:
                    type: string
                    $ref: '#/components/schemas/error_uuid'
        '500':
          description: Internal Server Error - This can be caused by an unexpected error on our end. Please contact angi team if the problem persists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Internal Server Error
                  code:
                    type: string
                    example: internal_server_error
                  more_info:
                    type: string
                    example: An unexpected error has occurred.
                  error_uuid:
                    type: string
                    $ref: '#/components/schemas/error_uuid'
components:
  schemas:
    booking_response:
      type: object
      properties:
        id:
          type: string
          example: dj327393v614875
          description: This is the unique identifier for the booking.
        starts_at:
          type: string
          example: '2018-05-08T19:00:00.000Z'
          description: This is the datetime that the booking is scheduled for.
        time_zone:
          type: string
          example: America/New_York
          description: This is the time zone the starts_at time is in.
        duration_seconds:
          type: integer
          example: 10800
          description: This is the duration of the booking in seconds.
        user_id:
          type: string
          example: lzo7rddjn8krnjm
          description: This is the unique identifier for the user this booking is scheduled for.
        provider_id:
          type: string
          example: jxyzrlmjx931gl2
          description: This is the unique identifier for the provider this booking is assigned to.
        provider:
          $ref: '#/components/schemas/provider'
      required:
      - duration_seconds
      - id
      - provider
      - provider_id
      - starts_at
      - time_zone
      - user_id
    provider:
      type: object
      properties:
        id:
          type: string
          example: jxyzrlmjx931gl2
          description: This is the unique identifier for the provider.
        name:
          type: string
          example: John G.
          description: This is the name of the provider.
        profile_url:
          type: string
          example: https://www.handy.com/profiles/JOHN0840
          description: This is a URL to the provider's profile.
    error_uuid:
      type: string
      example: 90938b23-749f-4f66-972b-43ea3a7ca7f6