TaskRabbit Home Services Booking API

Bid, book, retrieve, cancel, and reschedule Home Services projects.

Documentation

Specifications

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/taskrabbit-home-services-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 email required.

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

OpenAPI Specification

taskrabbit-home-services-booking-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TaskRabbit Partner Delivery Home Services Booking API
  description: 'TaskRabbit''s Partner API program, documented at developer.taskrabbit.com, spans two live surfaces: the Home Services Partner Platform (versioned 2025-12) covering the Estimate, Availability, Bid, Book project workflow plus catalog and cancellation/reschedule management, and the Delivery API inherited from Dolly (acquired by TaskRabbit in November 2024 and rebranded TaskRabbit Delivery). Both surfaces require partner approval and Auth0 OAuth2 client-credentials (machine-to-machine) tokens; there is no public self-serve signup. Endpoint shapes below are modeled from TaskRabbit''s public developer documentation (method, path, and the parameters/fields the docs describe); exact request/response schemas are partially withheld behind the gated Postman collection and reference pages given to approved partners, so object schemas here are best-effort and marked accordingly rather than fabricated in full detail.'
  version: 2025-12
  contact:
    name: TaskRabbit Developer Hub
    url: https://developer.taskrabbit.com
  x-endpointsModeled: true
  x-accessModel: Partner-approval gated; no public self-serve signup.
servers:
- url: https://{api_subdomain}.partner-platform.taskrabbit.com/2025-12
  description: TaskRabbit Home Services Partner Platform (partner-specific subdomain, Sandbox and Production)
  variables:
    api_subdomain:
      default: your-subdomain
      description: Subdomain issued to the partner during onboarding.
- url: https://papi.dolly.com/v1
  description: TaskRabbit Delivery (Dolly) Partner API - Production
- url: https://papi.sandbox.dolly.com/v1
  description: TaskRabbit Delivery (Dolly) Partner API - Sandbox
security:
- oauth2: []
tags:
- name: Home Services Booking
  description: Bid, book, retrieve, cancel, and reschedule Home Services projects.
paths:
  /projects/bid:
    post:
      operationId: bidProjectAgreement
      tags:
      - Home Services Booking
      summary: Bid Project Agreement
      description: Creates a formal price agreement for the customer's chosen date/time window and returns the most accurate pricing plus the Project UUID needed to complete the booking.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BidRequest'
      responses:
        '201':
          description: Formal price quote and Project UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BidResponse'
        '400':
          description: Invalid bid request.
  /projects/book:
    post:
      operationId: bookProjectAgreement
      tags:
      - Home Services Booking
      summary: Book a Project Agreement
      description: Completes the booking created by projects/bid and confirms payment.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookRequest'
      responses:
        '201':
          description: Project booked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          description: Invalid booking request.
  /projects/list:
    post:
      operationId: listProjects
      tags:
      - Home Services Booking
      summary: List Projects
      description: Lists projects for the authenticated partner brand, per TaskRabbit's documented endpoint index.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              description: Documented filter/pagination fields are not published; see the Postman collection provided at partner onboarding.
      responses:
        '200':
          description: A list of projects.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Project'
  /projects/{project_uuid}:
    get:
      operationId: getProjectByUuid
      tags:
      - Home Services Booking
      summary: Retrieve a Project by UUID
      description: Retrieves detailed information about a specific project.
      parameters:
      - name: project_uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Project successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          description: Project not found.
  /projects/{project_uuid}/cancel:
    post:
      operationId: cancelBookedProject
      tags:
      - Home Services Booking
      summary: Cancel Booked Project
      description: Cancels a booked project using an enumerated cancellation reason.
      parameters:
      - name: project_uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - cancellation_reason
              properties:
                cancellation_reason:
                  type: string
                  enum:
                  - order_canceled
                  - delivery_delayed
                  - changed_mind
                  - cancelled_by_cs
      responses:
        '201':
          description: Successfully cancelled Project.
        '400':
          description: Invalid cancellation_reason param.
  /projects/{project_uuid}/reschedule-availability:
    get:
      operationId: getRescheduleAvailability
      tags:
      - Home Services Booking
      summary: Check Reschedule Availability
      description: Returns available time windows a booked project can be rescheduled into.
      parameters:
      - name: project_uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Available reschedule windows.
  /projects/{project_uuid}/reschedule:
    post:
      operationId: rescheduleProject
      tags:
      - Home Services Booking
      summary: Reschedule Project
      description: Reschedules a booked project to a new available time window.
      parameters:
      - name: project_uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Documented to require a selected reschedule window; exact field names are not published outside partner onboarding materials.
      responses:
        '201':
          description: Project rescheduled.
components:
  schemas:
    Location:
      type: object
      properties:
        postal_code:
          type: string
        address:
          type: string
    BidResponse:
      type: object
      properties:
        project_uuid:
          type: string
          format: uuid
        price_cents:
          type: integer
    BookRequest:
      type: object
      required:
      - client
      - project_uuid
      - client_amount_charged_cents
      - client_accepted_taskrabbit_policy
      - agreement_external_reference
      properties:
        client:
          type: object
          description: Client (service recipient) information.
        project_uuid:
          type: string
          format: uuid
        client_amount_charged_cents:
          type: integer
        client_accepted_taskrabbit_policy:
          type: boolean
        agreement_external_reference:
          type: string
        agreement_accounting_reference:
          type: string
    BidRequest:
      type: object
      required:
      - locale
      - currency
      - location
      - service_item_terms
      - target_start_time
      properties:
        locale:
          type: string
          enum:
          - en-US
        currency:
          type: string
          enum:
          - USD
        location:
          $ref: '#/components/schemas/Location'
        service_item_terms:
          type: array
          items:
            $ref: '#/components/schemas/ServiceItemRequest'
        target_start_time:
          type: string
          format: date-time
    Project:
      type: object
      properties:
        project_uuid:
          type: string
          format: uuid
        status:
          type: string
        location:
          $ref: '#/components/schemas/Location'
        services:
          type: array
          items:
            $ref: '#/components/schemas/ServiceItemRequest'
    ServiceItemRequest:
      type: object
      description: A requested service line item; exact field list beyond category/quantity is not published outside partner materials.
      properties:
        service_id:
          type: string
        quantity:
          type: integer
  securitySchemes:
    oauth2:
      type: oauth2
      description: Auth0 machine-to-machine (M2M) OAuth2 client-credentials grant. Credentials are issued during partner onboarding.
      flows:
        clientCredentials:
          tokenUrl: https://taskrabbit.auth0.com/oauth/token
          scopes: {}