Webhooks
Get Subscription by ID
Returns a single webhook subscription by ID.
Endpoint: (GET) https://api.lusha.com/api/subscriptions/{id}
GET
/
api
/
subscriptions
/
{id}
Get Subscription by ID
curl --request GET \
--url https://api.lusha.com/api/subscriptions/{id} \
--header 'api_key: <api-key>'import requests
url = "https://api.lusha.com/api/subscriptions/{id}"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://api.lusha.com/api/subscriptions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.lusha.com/api/subscriptions/{id}")
.header("api_key", "<api-key>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/api/subscriptions/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "507f1f77bcf86cd799439011",
"entityType": "contact",
"entityId": "123456",
"signalTypes": [
"promotion",
"companyChange"
],
"url": "https://example.com/webhooks/lusha",
"isActive": true,
"createdAt": "2026-01-14T10:00:00.000Z",
"updatedAt": "2026-01-14T10:00:00.000Z",
"name": "Contact Promotion Tracker",
"blockReason": "Max retries exceeded",
"blockedAt": "2026-01-14T10:00:00.000Z"
}{
"statusCode": 400,
"message": "Invalid request parameters"
}{
"statusCode": 404,
"message": "Resource not found"
}{
"statusCode": 500,
"message": "Internal server error. Please try again later."
}Authorizations
Your Lusha API key. You can find this in your Lusha dashboard under API settings.
Include this key in the api_key header for all requests.
Path Parameters
Subscription ID
Response
Subscription retrieved successfully
Example:
"507f1f77bcf86cd799439011"
Available options:
contact, company Example:
"contact"
Example:
"123456"
Example:
["promotion", "companyChange"]
Example:
"https://example.com/webhooks/lusha"
Example:
true
Example:
"2026-01-14T10:00:00.000Z"
Example:
"2026-01-14T10:00:00.000Z"
Example:
"Contact Promotion Tracker"
Reason subscription was disabled (null if active)
Example:
"Max retries exceeded"
When subscription was disabled (null if active)
Example:
"2026-01-14T10:00:00.000Z"
Was this page helpful?
⌘I
Get Subscription by ID
curl --request GET \
--url https://api.lusha.com/api/subscriptions/{id} \
--header 'api_key: <api-key>'import requests
url = "https://api.lusha.com/api/subscriptions/{id}"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://api.lusha.com/api/subscriptions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.lusha.com/api/subscriptions/{id}")
.header("api_key", "<api-key>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/api/subscriptions/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "507f1f77bcf86cd799439011",
"entityType": "contact",
"entityId": "123456",
"signalTypes": [
"promotion",
"companyChange"
],
"url": "https://example.com/webhooks/lusha",
"isActive": true,
"createdAt": "2026-01-14T10:00:00.000Z",
"updatedAt": "2026-01-14T10:00:00.000Z",
"name": "Contact Promotion Tracker",
"blockReason": "Max retries exceeded",
"blockedAt": "2026-01-14T10:00:00.000Z"
}{
"statusCode": 400,
"message": "Invalid request parameters"
}{
"statusCode": 404,
"message": "Resource not found"
}{
"statusCode": 500,
"message": "Internal server error. Please try again later."
}