-
Base URL:
https://api.profilepulse.io - API prefix:
/api/v1 -
Format: JSON (
Content-Type: application/json) - Auth: API key (Bearer token)
Authentication
All requests authenticate with an API key sent as a Bearer token.
Authorization: Bearer <YOUR_API_KEY>
- The key is a 64-character hexadecimal string.
- A user generates it in the ProfilePulse app: open the Requester page (left sidebar → Requester) → Zapier API Key card → Generate / Copy.
- The key identifies the user account; all data access is scoped to that user.
No additional payment or plan is required to obtain or use the API key.
Endpoint 1 — List Business Profiles
Used to populate the Business Profile dropdown in the Zapier action.
Headers
Authorization: Bearer <YOUR_API_KEY>
Sample request
curl -X GET "https://api.profilepulse.io/api/v1/business/profile" \
-H "Authorization: Bearer 1a2b3c...<64 hex>...f9"
Sample response 200 OK
{
"success": true,
"message": "Profiles fetched",
"data": [
{
"_id": "6612a0f3e1b2c3d4e5f60718",
"title": "Gujarat Web & App Studio",
"slug": "gujarat-web-app-studio"
},
{
"_id": "6612a14ce1b2c3d4e5f6071a",
"title": "Urban Health Clinic",
"slug": "urban-health-clinic"
}
]
}
Each profile's _id is the value used as
profileId in the next endpoint; title is shown
as the dropdown label.
Endpoint 2 — Send Review Request
Sends a review-request message (email and/or SMS) to a customer for the given business profile. This is the Zapier action "Send Review Request".
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
profileId |
string | yes | The business profile _id from Endpoint 1. |
Headers
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
Body fields
| Field | Type | Required | Description |
|---|---|---|---|
customerName |
string | yes | Customer's name. |
customerEmail |
string | cond. | Customer email. Email or mobile required (≥ 1). |
customerMobile |
string | cond. | Customer mobile. Email or mobile required (≥ 1). |
At least one of customerEmail or
customerMobile must be provided.
Sample request
curl -X POST \
"https://api.profilepulse.io/api/v1/business/profile/6612a0f3e1b2c3d4e5f60718/review-request" \
-H "Authorization: Bearer 1a2b3c...<64 hex>...f9" \
-H "Content-Type: application/json" \
-d '{
"customerName": "John Doe",
"customerEmail": "john@example.com",
"customerMobile": "+919876543210"
}'
Sample response 200 OK
{
"success": true,
"message": "Review request sent",
"data": {
"_id": "6613bd02e1b2c3d4e5f6082c",
"businessId": "6612a0f3e1b2c3d4e5f60718",
"customerName": "John Doe",
"customerEmail": "john@example.com",
"customerMobile": "+919876543210",
"contactType": "both",
"status": "sent",
"createdAt": "2026-06-02T10:00:00.000Z"
}
}
If a request to the same customer already exists (and didn't previously fail), the existing record is returned instead of sending a duplicate.
Errors
Errors return a JSON body with success: false and a
message.
| HTTP | When |
|---|---|
| 400 |
Missing customerName, or no valid email/mobile
provided.
|
| 401 | Missing or invalid API key. |
| 404 |
Business profile not found for the given profileId.
|
| 500 | Sending failed (e.g. email/SMS provider error). |
Sample error 400 Bad Request
{
"success": false,
"message": "Customer name and contact are required"
}
Notes for Zapier reviewers
-
Auth type: API Key, sent as
Authorization: Bearer <key>. - Test account: log in with the provided credentials → open the Requester page → Zapier API Key card → copy the key (or Generate a new one) → use it as the Bearer token. A test business profile is already configured on the account.
- The integration does not process payments or collect financial information. It only sends review-request messages.
- Data transmitted is limited to a customer's name and email/phone for the purpose of requesting a review.