Create a new deal
curl --request POST \
--url https://api.heffl.com/api/v1/deals \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"clientId": "<string>",
"leadId": "<string>",
"sourceId": "<string>",
"price": 123,
"expectedCloseDate": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.heffl.com/api/v1/deals"
payload = {
"title": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"clientId": "<string>",
"leadId": "<string>",
"sourceId": "<string>",
"price": 123,
"expectedCloseDate": "2023-11-07T05:31:56Z"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
pipelineId: '<string>',
stageId: '<string>',
clientId: '<string>',
leadId: '<string>',
sourceId: '<string>',
price: 123,
expectedCloseDate: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.heffl.com/api/v1/deals', 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.heffl.com/api/v1/deals",
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([
'title' => '<string>',
'pipelineId' => '<string>',
'stageId' => '<string>',
'clientId' => '<string>',
'leadId' => '<string>',
'sourceId' => '<string>',
'price' => 123,
'expectedCloseDate' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.heffl.com/api/v1/deals"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"pipelineId\": \"<string>\",\n \"stageId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"leadId\": \"<string>\",\n \"sourceId\": \"<string>\",\n \"price\": 123,\n \"expectedCloseDate\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.heffl.com/api/v1/deals")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"pipelineId\": \"<string>\",\n \"stageId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"leadId\": \"<string>\",\n \"sourceId\": \"<string>\",\n \"price\": 123,\n \"expectedCloseDate\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heffl.com/api/v1/deals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"pipelineId\": \"<string>\",\n \"stageId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"leadId\": \"<string>\",\n \"sourceId\": \"<string>\",\n \"price\": 123,\n \"expectedCloseDate\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"number": "<string>",
"price": 123,
"status": "<string>",
"priority": "<string>",
"expectedCloseDate": "2023-11-07T05:31:56Z",
"clientId": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"sourceId": "<string>",
"leadId": "<string>",
"customFields": {}
}Deals
Create a new deal
Creates a new deal in your CRM pipeline.
POST
/
deals
Create a new deal
curl --request POST \
--url https://api.heffl.com/api/v1/deals \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"clientId": "<string>",
"leadId": "<string>",
"sourceId": "<string>",
"price": 123,
"expectedCloseDate": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.heffl.com/api/v1/deals"
payload = {
"title": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"clientId": "<string>",
"leadId": "<string>",
"sourceId": "<string>",
"price": 123,
"expectedCloseDate": "2023-11-07T05:31:56Z"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
pipelineId: '<string>',
stageId: '<string>',
clientId: '<string>',
leadId: '<string>',
sourceId: '<string>',
price: 123,
expectedCloseDate: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.heffl.com/api/v1/deals', 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.heffl.com/api/v1/deals",
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([
'title' => '<string>',
'pipelineId' => '<string>',
'stageId' => '<string>',
'clientId' => '<string>',
'leadId' => '<string>',
'sourceId' => '<string>',
'price' => 123,
'expectedCloseDate' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.heffl.com/api/v1/deals"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"pipelineId\": \"<string>\",\n \"stageId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"leadId\": \"<string>\",\n \"sourceId\": \"<string>\",\n \"price\": 123,\n \"expectedCloseDate\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.heffl.com/api/v1/deals")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"pipelineId\": \"<string>\",\n \"stageId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"leadId\": \"<string>\",\n \"sourceId\": \"<string>\",\n \"price\": 123,\n \"expectedCloseDate\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heffl.com/api/v1/deals")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"pipelineId\": \"<string>\",\n \"stageId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"leadId\": \"<string>\",\n \"sourceId\": \"<string>\",\n \"price\": 123,\n \"expectedCloseDate\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"number": "<string>",
"price": 123,
"status": "<string>",
"priority": "<string>",
"expectedCloseDate": "2023-11-07T05:31:56Z",
"clientId": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"sourceId": "<string>",
"leadId": "<string>",
"customFields": {}
}Authorizations
API key for authentication. Get yours at app.heffl.com/settings/developers
Body
application/json
Deal title
Minimum string length:
1Pipeline public ID
Pipeline stage public ID
Client public ID (required)
Lead public ID
Deal source public ID
Deal value/price
Expected close date
Deal priority
Available options:
LOW, MEDIUM, HIGH Response
200 - application/json
OK
Deal public ID
Deal title
When the deal was created
Auto-generated deal number
Deal price/value
Deal status
Deal priority
Expected close date
Client public ID
Pipeline public ID
Pipeline stage public ID
Deal source public ID
Lead public ID
Custom field values
Show child attributes
Show child attributes
⌘I