Get a report
curl --request GET \
--url https://api.b2bsignals.ai/api/v1/reports \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.b2bsignals.ai/api/v1/reports"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.b2bsignals.ai/api/v1/reports', 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.b2bsignals.ai/api/v1/reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.b2bsignals.ai/api/v1/reports"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.b2bsignals.ai/api/v1/reports")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.b2bsignals.ai/api/v1/reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"range": {
"key": "7d",
"from_date": "2023-12-25",
"to_date": "2023-12-25",
"label": "<string>"
},
"group_by": "signal",
"insight": {
"headline": "<string>",
"detail": "<string>",
"focus_key": "<string>",
"state": "normal",
"action": {
"label": "<string>",
"target": "sources"
}
},
"numbers": {
"people_contacted": 0,
"replied": 0,
"meetings_booked": 0
},
"funnel": {
"caption": "<string>",
"steps": [
{
"key": "contacted",
"label": "<string>",
"count": 123,
"pct_of_contacted": 123
}
]
},
"generated_at": "2023-11-07T05:31:56Z",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_name": "<string>",
"rows": [
{
"key": "<string>",
"label": "<string>",
"contacted": 123,
"replied": 123,
"interested_replies": 123,
"meetings": 123,
"comparison": "much_more",
"enough_data": true,
"reply_rate": 123,
"note": "<string>",
"position": 123
}
],
"people": [
{
"lead_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"got_so_far": "<string>",
"what_happened": "<string>",
"outcome": "meeting",
"first_contacted": "2023-12-25",
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"company": "<string>",
"sender": "<string>",
"last_touch": "2023-12-25"
}
],
"people_total": 123,
"average_reply_rate": 123,
"min_people_for_rate": 50,
"mature_after_days": 7,
"workspace_name": "<string>",
"group_by_options": [
{
"key": "signal",
"label": "<string>",
"needs_campaign": false,
"shareable": true
}
],
"sender_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sender_name": "<string>",
"daily_sends": [
{
"date": "<string>",
"connections_sent": 0,
"connections_accepted": 0,
"messages_sent": 0,
"message_replies": 0
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Reports
Get a report
The Reports numbers for a range and grouping.
GET
/
reports
Get a report
curl --request GET \
--url https://api.b2bsignals.ai/api/v1/reports \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.b2bsignals.ai/api/v1/reports"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.b2bsignals.ai/api/v1/reports', 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.b2bsignals.ai/api/v1/reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.b2bsignals.ai/api/v1/reports"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.b2bsignals.ai/api/v1/reports")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.b2bsignals.ai/api/v1/reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"range": {
"key": "7d",
"from_date": "2023-12-25",
"to_date": "2023-12-25",
"label": "<string>"
},
"group_by": "signal",
"insight": {
"headline": "<string>",
"detail": "<string>",
"focus_key": "<string>",
"state": "normal",
"action": {
"label": "<string>",
"target": "sources"
}
},
"numbers": {
"people_contacted": 0,
"replied": 0,
"meetings_booked": 0
},
"funnel": {
"caption": "<string>",
"steps": [
{
"key": "contacted",
"label": "<string>",
"count": 123,
"pct_of_contacted": 123
}
]
},
"generated_at": "2023-11-07T05:31:56Z",
"workflow_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow_name": "<string>",
"rows": [
{
"key": "<string>",
"label": "<string>",
"contacted": 123,
"replied": 123,
"interested_replies": 123,
"meetings": 123,
"comparison": "much_more",
"enough_data": true,
"reply_rate": 123,
"note": "<string>",
"position": 123
}
],
"people": [
{
"lead_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"got_so_far": "<string>",
"what_happened": "<string>",
"outcome": "meeting",
"first_contacted": "2023-12-25",
"run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"company": "<string>",
"sender": "<string>",
"last_touch": "2023-12-25"
}
],
"people_total": 123,
"average_reply_rate": 123,
"min_people_for_rate": 50,
"mature_after_days": 7,
"workspace_name": "<string>",
"group_by_options": [
{
"key": "signal",
"label": "<string>",
"needs_campaign": false,
"shareable": true
}
],
"sender_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sender_name": "<string>",
"daily_sends": [
{
"date": "<string>",
"connections_sent": 0,
"connections_accepted": 0,
"messages_sent": 0,
"message_replies": 0
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Your workspace's API key. It starts with b2b_sk_.
Query Parameters
The period to report on. custom needs from and to.
Available options:
7d, 30d, 90d, custom How to group the report's rows.
Available options:
signal, source, campaign, sender, week, step, version, person Only this campaign.
Only this sender.
Response
Success
Show child attributes
Show child attributes
Available options:
signal, source, campaign, sender, week, step, version, person Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes