Loading...
Loading...
Bitrix24 REST API via curl. Use this skill to manage CRM (leads, deals, contacts), tasks, and users.
npx skill4agent add vm0-ai/vm0-skills bitrixcurlOfficial docs:https://apidocs.bitrix24.com/
export BITRIX_WEBHOOK_URL="https://your-domain.bitrix24.com/rest/1/your-secret-code"https://[domain]/rest/[user-id]/[secret-code]/[method].jsondomainuser-idsecret-codemethodImportant: When usingin a command that pipes to another command, wrap the command containing$VARin$VAR. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.bash -c '...'bashbash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'
BITRIX_WEBHOOK_URLbash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/user.current.json"'{
"result": {
"ID": "1",
"NAME": "John",
"LAST_NAME": "Doe",
"EMAIL": "john@example.com"
}
}bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/user.get.json"' | jq '.result[] | {ID, NAME, LAST_NAME, EMAIL}'/tmp/bitrix_request.json{
"fields": {
"TITLE": "New Lead from API",
"NAME": "John",
"LAST_NAME": "Doe",
"PHONE": [{"VALUE": "+1234567890", "VALUE_TYPE": "WORK"}],
"EMAIL": [{"VALUE": "john@example.com", "VALUE_TYPE": "WORK"}]
}
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'{
"result": 123
}<your-lead-id>bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.get.json?id=<your-lead-id>"'bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.list.json"' | jq '.result[] | {ID, TITLE, STATUS_ID}'/tmp/bitrix_request.json{
"filter": {"STATUS_ID": "NEW"},
"select": ["ID", "TITLE", "NAME", "PHONE"]
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.list.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'/tmp/bitrix_request.json{
"id": 123,
"fields": {
"STATUS_ID": "IN_PROCESS",
"COMMENTS": "Updated via API"
}
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.lead.update.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'<your-lead-id>bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.delete.json?id=<your-lead-id>"'/tmp/bitrix_request.json{
"fields": {
"NAME": "Jane",
"LAST_NAME": "Smith",
"PHONE": [{"VALUE": "+1987654321", "VALUE_TYPE": "MOBILE"}],
"EMAIL": [{"VALUE": "jane@example.com", "VALUE_TYPE": "WORK"}]
}
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.contact.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.contact.list.json"' | jq '.result[] | {ID, NAME, LAST_NAME}'/tmp/bitrix_request.json{
"fields": {
"TITLE": "New Deal from API",
"STAGE_ID": "NEW",
"OPPORTUNITY": 5000,
"CURRENCY_ID": "USD"
}
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.deal.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.deal.list.json"' | jq '.result[] | {ID, TITLE, STAGE_ID, OPPORTUNITY}'/tmp/bitrix_request.json{
"id": 456,
"fields": {
"STAGE_ID": "WON"
}
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/crm.deal.update.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'/tmp/bitrix_request.json{
"fields": {
"TITLE": "New Task from API",
"DESCRIPTION": "Task description here",
"RESPONSIBLE_ID": 1,
"DEADLINE": "2025-12-31"
}
}bash -c 'curl -s -X POST "${BITRIX_WEBHOOK_URL}/tasks.task.add.json" --header "Content-Type: application/json" -d @/tmp/bitrix_request.json'bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/tasks.task.list.json"' | jq '.result.tasks[] | {id, title, status}'<your-task-id>bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/tasks.task.complete.json?taskId=<your-task-id>"'# Lead fields
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.lead.fields.json"'
# Contact fields
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.contact.fields.json"'
# Deal fields
bash -c 'curl -s -X GET "${BITRIX_WEBHOOK_URL}/crm.deal.fields.json"'| Parameter | Description |
|---|---|
| Filter results (e.g., |
| Fields to return (e.g., |
| Sort order (e.g., |
| Pagination offset |
*.fields.jsonstart