openapi: 3.0.1 info: title: Thumbtack Demand Authentication Pro Profiles API description: 'Marketplace ("Demand Partner") integration surface of the Thumbtack Partner Platform, for helping customers find pros, explore service categories, and submit project requests. Access is approval-gated - Thumbtack issues credentials to accepted partners; there is no public self-serve signup. Paths and methods below are transcribed from Thumbtack''s published API reference at api.thumbtack.com/docs and developers.thumbtack.com. Full request/response field schemas were not published in the sourced pages, so this document models confirmed operations at a summary level rather than fabricating complete schemas. Autocomplete, Pros, and Categories paths are verbatim-confirmed from the source reference. Orders paths are honestly modeled (x-endpointsModeled: true) from the reference''s prose description of "order management endpoints for on-demand services (create, update, cancel, retrieve status)", which did not itself publish exact path strings.' termsOfService: https://www.thumbtack.com/terms contact: name: Thumbtack Partner Platform url: https://developers.thumbtack.com/ version: 4.0.0-draft servers: - url: https://api.thumbtack.com description: Production - url: https://staging-api.thumbtack.com description: Staging security: - basicAuth: [] - oauth2: [] tags: - name: Pro Profiles paths: /v2/get-thumbtack-info: get: operationId: getThumbtackInfo tags: - Pro Profiles summary: Retrieve Thumbtack account/profile info for the connected pro security: - oauth2: [] responses: '200': description: Thumbtack account info content: application/json: schema: $ref: '#/components/schemas/ThumbtackInfoResponse' /v2/disconnect-partner: post: operationId: disconnectPartner tags: - Pro Profiles summary: Disconnect a partner integration from a pro's Thumbtack account security: - basicAuth: [] responses: '200': description: Partner disconnected /v3/accounts/{accountID}/services/{serviceID}/preferences/targeting: patch: operationId: updateServiceTargetingPreferences tags: - Pro Profiles summary: Update lead-targeting preferences for a pro's service security: - oauth2: [] parameters: - name: accountID in: path required: true schema: type: string - name: serviceID in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TargetingPreferencesRequest' responses: '200': description: Targeting preferences updated /v3/accounts/{accountID}/services/{serviceID}/categories/{categoryID}/preferences/targeting: patch: operationId: updateCategoryTargetingPreferences tags: - Pro Profiles summary: Update lead-targeting preferences for a pro's service category security: - oauth2: [] parameters: - name: accountID in: path required: true schema: type: string - name: serviceID in: path required: true schema: type: string - name: categoryID in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TargetingPreferencesRequest' responses: '200': description: Category targeting preferences updated components: schemas: TargetingPreferencesRequest: type: object description: Schema summarized; full field list not published in sourced docs. properties: enabled: type: boolean ThumbtackInfoResponse: type: object description: Schema summarized; full field list not published in sourced docs. properties: business_id: type: string securitySchemes: basicAuth: type: http scheme: basic description: Used by legacy v1/v2 routes. oauth2: type: oauth2 description: Used by v4 routes. Authorization Code and Client Credentials flows. flows: authorizationCode: authorizationUrl: https://www.thumbtack.com/services/partner-connect/ tokenUrl: https://api.thumbtack.com/v4/oauth/token scopes: {} clientCredentials: tokenUrl: https://api.thumbtack.com/v4/oauth/token scopes: {} externalDocs: description: Thumbtack Demand API reference url: https://api.thumbtack.com/docs/demand_api.html