Change a website
curl --request PATCH \
--url https://intentleads.si/api/v1/sites/{code} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"monthly_cap": 1000
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({monthly_cap: 1000})
};
fetch('https://intentleads.si/api/v1/sites/{code}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/sites/{code}"
payload = { "monthly_cap": 1000 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"code": "V1",
"kind": "visitors",
"name": "Main site",
"domain": "example.com",
"status": "active",
"monthly_cap": 500,
"identified_this_period": 137,
"period": {
"start": "2026-11-09",
"end": "2026-12-09"
},
"install_snippet": "<script src=\"https://…/p.js\" async></script>",
"setup_error": null,
"note": "Identified visitors arrive as leads on this site's lane (GET /api/v1/leads?lane=V1&since=last). Each person is charged once per billing month on the intent meter of your balance, up to monthly_cap."
}{
"error": "invalid_cap",
"message": "monthly_cap must be a whole number from 1 to 1,000,000."
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "admin_key_required",
"message": "This needs an admin API key. Owners create one under Settings → API keys."
}{
"error": "site_not_found",
"message": "No site V9."
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Change a website
Change monthly_cap or name, or pause and resume with paused. A higher cap restarts a site paused at its cap straight away.
Admin key required. Standard keys get 403 admin_key_required.
PATCH
/
api
/
v1
/
sites
/
{code}
Change a website
curl --request PATCH \
--url https://intentleads.si/api/v1/sites/{code} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"monthly_cap": 1000
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({monthly_cap: 1000})
};
fetch('https://intentleads.si/api/v1/sites/{code}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://intentleads.si/api/v1/sites/{code}"
payload = { "monthly_cap": 1000 }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"code": "V1",
"kind": "visitors",
"name": "Main site",
"domain": "example.com",
"status": "active",
"monthly_cap": 500,
"identified_this_period": 137,
"period": {
"start": "2026-11-09",
"end": "2026-12-09"
},
"install_snippet": "<script src=\"https://…/p.js\" async></script>",
"setup_error": null,
"note": "Identified visitors arrive as leads on this site's lane (GET /api/v1/leads?lane=V1&since=last). Each person is charged once per billing month on the intent meter of your balance, up to monthly_cap."
}{
"error": "invalid_cap",
"message": "monthly_cap must be a whole number from 1 to 1,000,000."
}{
"error": "unauthorized",
"message": "Send a valid API key as: Authorization: Bearer il_live_…"
}{
"error": "admin_key_required",
"message": "This needs an admin API key. Owners create one under Settings → API keys."
}{
"error": "site_not_found",
"message": "No site V9."
}{
"error": "internal_error",
"message": "Something went wrong. Try again."
}Authorizations
Headers
Only with an organization key: the workspace to act in (its id; ?workspace=<id> works too). Lanes, leads, exports, lists, websites and webhooks live in workspaces. Without it, an organization key acts in its only workspace, or gets 400 workspace_required (with the list of workspaces) when it has several. Workspace keys don't need it. On keys, team and activity it switches from the organization's own to that workspace's.
Response
The site.