Get Activity
curl --request GET \
--url https://api.example.com/v1/activities/{id}import requests
url = "https://api.example.com/v1/activities/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/activities/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/activities/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/activities/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/activities/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/activities/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"activity": {
"id": "<string>",
"type": "<string>",
"title": "<string>",
"description": "<string>",
"contact_id": "<string>",
"deal_id": "<string>",
"entity_type": "<string>",
"entity_id": "<string>",
"entity_name": "<string>",
"metadata": {},
"created_by_user_id": "<string>",
"created_date": "<string>"
}
}
}Activities
Get Activity
Retrieve a single activity by its unique ID
GET
/
v1
/
activities
/
{id}
Get Activity
curl --request GET \
--url https://api.example.com/v1/activities/{id}import requests
url = "https://api.example.com/v1/activities/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/activities/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/activities/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/activities/{id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/activities/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/activities/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": {
"activity": {
"id": "<string>",
"type": "<string>",
"title": "<string>",
"description": "<string>",
"contact_id": "<string>",
"deal_id": "<string>",
"entity_type": "<string>",
"entity_id": "<string>",
"entity_name": "<string>",
"metadata": {},
"created_by_user_id": "<string>",
"created_date": "<string>"
}
}
}Request
Path Parameters
string
required
The activity’s unique ID (UUID)
Headers
Authorization: Bearer wbk_your_api_key_here
Requires an API key with the
activities:read permission.Response
object
Show properties
Show properties
object
Show Activity object
Show Activity object
string
Activity UUID
string
Activity type (e.g.,
call, email, meeting, note, ai_action)string
Short title
string
Full description or body
string
Linked contact UUID (nullable)
string
Linked deal UUID (nullable)
string
Polymorphic entity type
string
Polymorphic entity UUID
string
Entity display name
object
Type-specific structured data
string
UUID of the user or system that created the activity
string
ISO 8601 timestamp
curl https://data.leadlex.com/functions/v1/api-gateway/v1/activities/act_7f3c4d2a-1b8e-4a9c-9d6f-2e5b8c7a1f3d \
-H "Authorization: Bearer wbk_your_api_key_here"
import requests
API_KEY = "wbk_your_api_key_here"
BASE_URL = "https://data.leadlex.com/functions/v1/api-gateway"
ACTIVITY_ID = "act_7f3c4d2a-1b8e-4a9c-9d6f-2e5b8c7a1f3d"
response = requests.get(
f"{BASE_URL}/v1/activities/{ACTIVITY_ID}",
headers={"Authorization": f"Bearer {API_KEY}"},
)
activity = response.json()["data"]["activity"]
const ACTIVITY_ID = 'act_7f3c4d2a-1b8e-4a9c-9d6f-2e5b8c7a1f3d';
const response = await fetch(
`https://data.leadlex.com/functions/v1/api-gateway/v1/activities/${ACTIVITY_ID}`,
{ headers: { 'Authorization': 'Bearer wbk_your_api_key_here' } }
);
const { data } = await response.json();
Example Response
{
"data": {
"activity": {
"id": "act_7f3c4d2a-1b8e-4a9c-9d6f-2e5b8c7a1f3d",
"type": "call",
"title": "Discovery call with Jane",
"description": "Discussed Q2 outsourcing plans; next step is proposal.",
"contact_id": "123e4567-e89b-12d3-a456-426614174000",
"deal_id": "3f8e1d2c-4b5a-6d7e-8f9a-0b1c2d3e4f5a",
"entity_type": null,
"entity_id": null,
"entity_name": null,
"metadata": { "duration_minutes": 32, "direction": "outbound" },
"created_by_user_id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
"created_date": "2026-04-17T14:23:05Z"
}
}
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | invalid_key | Invalid or expired API key |
| 403 | insufficient_permissions | Missing activities:read permission |
| 404 | activity_not_found | No activity with this ID in your workspace |
| 429 | rate_limited | Rate limit exceeded |