CRM Deals
Get crmdeals 1
GET
/
crm
/
deals
/
{id}
cURL
curl --request GET \
--url https://api.example.com/crm/deals/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/crm/deals/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/crm/deals/{id}', 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/crm/deals/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.example.com/crm/deals/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/crm/deals/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/crm/deals/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"companyId": "<string>",
"enteredStageAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"value": 123,
"currency": "<string>",
"expectedCloseDate": "2023-11-07T05:31:56Z",
"notes": "<string>",
"crmCompanyId": "<string>",
"contactId": "<string>",
"ownerId": "<string>",
"lostReason": "<string>",
"lostReasonNote": "<string>",
"wonAt": "2023-11-07T05:31:56Z",
"lostAt": "2023-11-07T05:31:56Z",
"customFields": {},
"crmCompany": {
"id": "<string>",
"name": "<string>",
"domain": "<string>",
"iconUrl": "<string>"
},
"contact": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phoneNumber": "<string>",
"additionalData": {}
},
"stage": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"isWon": true,
"isLost": true,
"winProbability": 123,
"rottingDays": 123
},
"contacts": [
{
"id": "<string>",
"dealId": "<string>",
"contactId": "<string>",
"role": "primary",
"isPrimary": true,
"createdAt": "2023-11-07T05:31:56Z",
"contact": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phoneNumber": "<string>",
"additionalData": {}
}
}
],
"owner": {
"id": "<string>",
"email": "<string>",
"givenName": "<string>",
"familyName": "<string>"
},
"isRotting": true,
"signal": {
"healthScore": 123,
"healthBand": {},
"daysInStage": 123,
"daysSinceLastActivity": 123,
"followUpsSinceLastReply": 123,
"hasReplyEver": true,
"inboundCount": 123,
"outboundCount": 123,
"meetingsBooked": 123,
"meetingsHeld": 123,
"openTaskCount": 123,
"overdueTaskCount": 123,
"computedAt": "2023-11-07T05:31:56Z",
"daysSinceLastInbound": 123,
"daysSinceLastOutbound": 123
}
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}Authorizations
ApiKeyJWTApiUserHeader
Bearer token: a Platform API Key (format: ak_live::) or a Personal Access Token (format: rgo-...). PATs always act as the token owner.
Path Parameters
Response
Configurable per company, so a key rather than a fixed enum value.
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
Server-computed health signals from crm_deal_signal.
Present once the signal sweep has seen the deal. The board must render
signal.healthBand rather than guessing from timestamps on the client, so
the badge, the workflow rules and Mira all agree on one answer.
Show child attributes
Show child attributes
⌘I
cURL
curl --request GET \
--url https://api.example.com/crm/deals/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/crm/deals/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/crm/deals/{id}', 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/crm/deals/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.example.com/crm/deals/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/crm/deals/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/crm/deals/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"pipelineId": "<string>",
"stageId": "<string>",
"companyId": "<string>",
"enteredStageAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"value": 123,
"currency": "<string>",
"expectedCloseDate": "2023-11-07T05:31:56Z",
"notes": "<string>",
"crmCompanyId": "<string>",
"contactId": "<string>",
"ownerId": "<string>",
"lostReason": "<string>",
"lostReasonNote": "<string>",
"wonAt": "2023-11-07T05:31:56Z",
"lostAt": "2023-11-07T05:31:56Z",
"customFields": {},
"crmCompany": {
"id": "<string>",
"name": "<string>",
"domain": "<string>",
"iconUrl": "<string>"
},
"contact": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phoneNumber": "<string>",
"additionalData": {}
},
"stage": {
"id": "<string>",
"name": "<string>",
"color": "<string>",
"isWon": true,
"isLost": true,
"winProbability": 123,
"rottingDays": 123
},
"contacts": [
{
"id": "<string>",
"dealId": "<string>",
"contactId": "<string>",
"role": "primary",
"isPrimary": true,
"createdAt": "2023-11-07T05:31:56Z",
"contact": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phoneNumber": "<string>",
"additionalData": {}
}
}
],
"owner": {
"id": "<string>",
"email": "<string>",
"givenName": "<string>",
"familyName": "<string>"
},
"isRotting": true,
"signal": {
"healthScore": 123,
"healthBand": {},
"daysInStage": 123,
"daysSinceLastActivity": 123,
"followUpsSinceLastReply": 123,
"hasReplyEver": true,
"inboundCount": 123,
"outboundCount": 123,
"meetingsBooked": 123,
"meetingsHeld": 123,
"openTaskCount": 123,
"overdueTaskCount": 123,
"computedAt": "2023-11-07T05:31:56Z",
"daysSinceLastInbound": 123,
"daysSinceLastOutbound": 123
}
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}{
"statusCode": 400,
"message": [
"limit must not be greater than 100"
],
"error": "BadRequestException"
}