Discover Conferences
curl --request POST \
--url https://api.example.com/v1/ai/discover-conferences \
--header 'Content-Type: application/json' \
--data '
{
"industry": "<string>",
"region": "<string>",
"date_range": {},
"topics": [
{}
],
"limit": 123
}
'import requests
url = "https://api.example.com/v1/ai/discover-conferences"
payload = {
"industry": "<string>",
"region": "<string>",
"date_range": {},
"topics": [{}],
"limit": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
industry: '<string>',
region: '<string>',
date_range: {},
topics: [{}],
limit: 123
})
};
fetch('https://api.example.com/v1/ai/discover-conferences', 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/ai/discover-conferences",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'industry' => '<string>',
'region' => '<string>',
'date_range' => [
],
'topics' => [
[
]
],
'limit' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/ai/discover-conferences"
payload := strings.NewReader("{\n \"industry\": \"<string>\",\n \"region\": \"<string>\",\n \"date_range\": {},\n \"topics\": [\n {}\n ],\n \"limit\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/ai/discover-conferences")
.header("Content-Type", "application/json")
.body("{\n \"industry\": \"<string>\",\n \"region\": \"<string>\",\n \"date_range\": {},\n \"topics\": [\n {}\n ],\n \"limit\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/ai/discover-conferences")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"industry\": \"<string>\",\n \"region\": \"<string>\",\n \"date_range\": {},\n \"topics\": [\n {}\n ],\n \"limit\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"conferences": [
{
"name": "<string>",
"url": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"location": "<string>",
"industry_tags": [
{}
],
"topics": [
{}
],
"relevance": 123,
"attendee_size": "<string>",
"reason": "<string>"
}
],
"generated_at": "<string>",
"cache_hit": true,
"credits_remaining": 123
}
}AI Analysis
Discover Conferences
Surface upcoming industry conferences and events relevant to the workspace
POST
/
v1
/
ai
/
discover-conferences
Discover Conferences
curl --request POST \
--url https://api.example.com/v1/ai/discover-conferences \
--header 'Content-Type: application/json' \
--data '
{
"industry": "<string>",
"region": "<string>",
"date_range": {},
"topics": [
{}
],
"limit": 123
}
'import requests
url = "https://api.example.com/v1/ai/discover-conferences"
payload = {
"industry": "<string>",
"region": "<string>",
"date_range": {},
"topics": [{}],
"limit": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
industry: '<string>',
region: '<string>',
date_range: {},
topics: [{}],
limit: 123
})
};
fetch('https://api.example.com/v1/ai/discover-conferences', 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/ai/discover-conferences",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'industry' => '<string>',
'region' => '<string>',
'date_range' => [
],
'topics' => [
[
]
],
'limit' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/ai/discover-conferences"
payload := strings.NewReader("{\n \"industry\": \"<string>\",\n \"region\": \"<string>\",\n \"date_range\": {},\n \"topics\": [\n {}\n ],\n \"limit\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/ai/discover-conferences")
.header("Content-Type", "application/json")
.body("{\n \"industry\": \"<string>\",\n \"region\": \"<string>\",\n \"date_range\": {},\n \"topics\": [\n {}\n ],\n \"limit\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/ai/discover-conferences")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"industry\": \"<string>\",\n \"region\": \"<string>\",\n \"date_range\": {},\n \"topics\": [\n {}\n ],\n \"limit\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"conferences": [
{
"name": "<string>",
"url": "<string>",
"start_date": "<string>",
"end_date": "<string>",
"location": "<string>",
"industry_tags": [
{}
],
"topics": [
{}
],
"relevance": 123,
"attendee_size": "<string>",
"reason": "<string>"
}
],
"generated_at": "<string>",
"cache_hit": true,
"credits_remaining": 123
}
}This endpoint consumes 3 AI credits per call. Results are cached per workspace for 24 hours keyed on the request parameters. If the workspace balance is insufficient, the API returns
402 insufficient_credits.Request
Headers
Authorization: Bearer wbk_your_api_key_here
Content-Type: application/json
string
Optional UUID for retry deduplication.
Body Parameters
string
Industry focus (e.g.
legal-tech, private-equity, life-sciences). Defaults to the workspace’s configured industry.string
Region filter:
global, europe, north-america, apac, or an ISO 3166-1 alpha-2 country code.object
Optional
{ from, to } window in ISO 8601 dates. Defaults to the next 180 days.array
Optional array of topical keywords to match against conference tracks.
integer
default:"20"
Maximum number of conferences to return. Maximum 100.
Response
object
Show properties
Show properties
array
Show Conference object
Show Conference object
string
Conference name
string
Official event URL
string
ISO 8601 start date
string
ISO 8601 end date
string
City, country (or “virtual”)
array
Matching industry tags
array
Matching topical tags
number
0.0 - 1.0 relevance score
string
Estimated audience (e.g.
<500, 500-2000, >2000)string
Why this conference was suggested
string
ISO 8601 timestamp the result was computed
boolean
Whether the response was served from cache
integer
Balance after this call
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-Request-ID.
curl -X POST \
https://data.leadlex.com/functions/v1/api-gateway/v1/ai/discover-conferences \
-H "Authorization: Bearer wbk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"industry": "legal-tech", "region": "europe", "limit": 10}'
import requests
API_KEY = "wbk_your_api_key_here"
BASE_URL = "https://data.leadlex.com/functions/v1/api-gateway"
r = requests.post(
f"{BASE_URL}/v1/ai/discover-conferences",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={"industry": "legal-tech", "region": "europe", "limit": 10},
)
for c in r.json()["data"]["conferences"]:
print(c["name"], c["start_date"], c["location"])
const res = await fetch(
'https://data.leadlex.com/functions/v1/api-gateway/v1/ai/discover-conferences',
{
method: 'POST',
headers: {
'Authorization': 'Bearer wbk_your_api_key_here',
'Content-Type': 'application/json',
},
body: JSON.stringify({ industry: 'legal-tech', region: 'europe', limit: 10 }),
}
);
const { data } = await res.json();
console.log(data.conferences);
Example Response
{
"data": {
"conferences": [
{
"name": "Legal Innovators London",
"url": "https://legalinnovators.co.uk",
"start_date": "2026-06-09",
"end_date": "2026-06-10",
"location": "London, UK",
"industry_tags": ["legal-tech"],
"topics": ["ai", "innovation", "gc"],
"relevance": 0.92,
"attendee_size": "500-2000",
"reason": "Flagship UK legal-tech event; several workspace contacts historically attend."
}
],
"generated_at": "2026-04-17T10:45:00Z",
"cache_hit": false,
"credits_remaining": 4848
}
}
Errors
| Status | Code | Description |
|---|---|---|
| 400 | validation_error | Invalid region, date_range, or limit |
| 401 | invalid_key | Invalid or expired API key |
| 402 | insufficient_credits | Workspace credit balance is exhausted |
| 403 | insufficient_permissions | Missing write:ai permission |
| 429 | rate_limited | Rate limit exceeded |