Overview

Getting Started

Widgets

Categories

Keywords

Reviews

Users

Businesses

Businesses Search

Negotiations

Messages

Requests

Help

Changelog

Terms and Policies

Businesses

Discover how to integrate Thumbtack Businesses into your Platform.

Overview

The Business APIs support two different groups of behaviors: general purpose Business operations and Business Webhook related operations.

Businesses API

More technical details regarding general purpose Business operations can be seen in the Businesses API.

Fetching Business Data

GET /api/v4/businesses HTTP/2
authorization: Bearer {{authCode}}
{
"data": [
{
"businessID": "1337",
"name": "Robert's Aerial Photography",
"imageURL": "https://production-next-images-cdn.thumbtack.com/i/323302111019294847/desktop/standard/fullscreen"
}
],
"pagination": {
"limit": 20
}
}

Webhooks

More technical details regarding Business Webhook related operations can be seen in the Business Webhook API. Below, we illustrate an example.
For the below examples, you can leverage https://webhook.site to test out the webhook behavior.

Creating a Webhook for a Business

The below command creates a disabled webhook which listens for MessageCreated and NegotationCreated Events.
POST /api/v4/businesses/{{businessID}}/webhooks HTTP/2
authorization: Bearer {{authCode}}
content-type: application/json
{
"webhookURL": "<your webhook URL>",
"eventTypes": [
"MessageCreatedV4",
"NegotiationCreatedV4"
],
"enabled": false,
"auth": {
"username": "hello",
"password": "world"
}
}
{
"webhookID": "<your unique webhookID>",
"webhookURL": "<your webhook URL>",
"enabled": false,
"authType": "Basic",
"businessID": "<the businessID>",
"eventTypes": [
"MessageCreatedV4",
"NegotationCreatedV4"
]
}

Getting a Webhook by ID for a Business

We can fetch this Webhook's data directly, as such:
GET /api/v4/businesses/{{businessID}}/webhooks/{{webhookID}} HTTP/2
authorization: Bearer {{authCode}}
{
"webhookID": "<your webhookID>",
"webhookURL": "<your webhook.site URL>",
"enabled": false,
"authType": "Basic",
"businessID": "<the businessID>",
"eventTypes": [
"MessageCreatedV4",
"NegotationCreatedV4"
]
}

Getting All Webhooks for a Business

Alternatively, we can fetch all Webhooks for the given Business.
GET /api/v4/businesses/{{businessID}}/webhooks HTTP/2
authorization: Bearer {{authCode}}
{
"data": [
{
...webhook fields
},
...
],
"pagination": {
"limit": 10
}
}

Updating a Webhook for a Business

We can enable the webhook by:
PUT /api/v4/businesses/{{businessID}}/webhooks/{{webhookID}} HTTP/2
authorization: Bearer {{authCode}}
content-type: application/json
{
"enabled": true
}

Updating a Webhook's Authentication for a Business

We can modify the Webhook's authentication by:
PUT /api/v4/businesses/{{businessID}}/webhooks/{{webhookID}}/auth HTTP/2
authorization: Bearer {{authCode}}
content-type: application/json
{
"username": "username",
"password": "password"
}

Deleting a Webhook's Authentication for a Business

We can delete the Webhook's authentication by:
DELETE /api/v4/businesses/{{businessID}}/webhooks/{{webhookID}}/auth HTTP/2
authorization: Bearer {{authCode}}

Deleting a Webhook for a Business

DELETE /api/v4/businesses/{{businessID}}/webhooks/{{webhookID}} HTTP/2
authorization: Bearer {{authCode}}