Resolve a single object
curl --request GET \
--url https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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://server.meetdoris.com/api/v1/ontology/{type_name}/{object_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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{
"ok": true,
"record": {
"id": "5590756e-c2e2-50f9-ba17-0f8dcee493bd",
"deal_name": "Apex Enterprise Platform",
"amount": 285000,
"currency": "USD",
"pipeline": "Enterprise",
"stage": "Negotiation",
"stage_probability": 0.7,
"close_date": "2026-05-21T14:46:40.226524+00:00",
"create_date": "2026-03-22T14:46:40.226524+00:00",
"days_in_stage": null,
"is_closed": false,
"is_won": null,
"closed_lost_reason": null,
"forecast_category": null,
"owner_name": "Jordan Ellis",
"owner_email": "jordan.ellis@meridian-tech.example.com",
"linked_company_name": "Apex Industries"
},
"commitments": [
{
"id": "e7f8bfdb-76d7-5d50-b64f-a10419cd8f03",
"type": "commitment",
"title": "Review proposal with leadership team",
"status": "completed",
"owner_type": "buyer",
"due_date": "2026-04-06",
"completed_at": null
},
{
"id": "215e0dd6-2d27-58b9-a499-22f2e82f48a1",
"type": "commitment",
"title": "Provide technical documentation for Salesforce integration",
"status": "overdue",
"owner_type": "rep",
"due_date": "2026-04-23",
"completed_at": null
}
],
"_links": {},
"_meta": {
"type": "deal",
"expand": [
"commitments"
]
}
}{
"error": "not_found",
"message": "Deal 'invalid-id' not found"
}Resolve
Resolve a single object
Fetch a full object by type and ID. Use the expand parameter to include related data (stakeholders, commitments, meetings, etc.).
GET
/
{type_name}
/
{object_id}
Resolve a single object
curl --request GET \
--url https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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://server.meetdoris.com/api/v1/ontology/{type_name}/{object_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.meetdoris.com/api/v1/ontology/{type_name}/{object_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{
"ok": true,
"record": {
"id": "5590756e-c2e2-50f9-ba17-0f8dcee493bd",
"deal_name": "Apex Enterprise Platform",
"amount": 285000,
"currency": "USD",
"pipeline": "Enterprise",
"stage": "Negotiation",
"stage_probability": 0.7,
"close_date": "2026-05-21T14:46:40.226524+00:00",
"create_date": "2026-03-22T14:46:40.226524+00:00",
"days_in_stage": null,
"is_closed": false,
"is_won": null,
"closed_lost_reason": null,
"forecast_category": null,
"owner_name": "Jordan Ellis",
"owner_email": "jordan.ellis@meridian-tech.example.com",
"linked_company_name": "Apex Industries"
},
"commitments": [
{
"id": "e7f8bfdb-76d7-5d50-b64f-a10419cd8f03",
"type": "commitment",
"title": "Review proposal with leadership team",
"status": "completed",
"owner_type": "buyer",
"due_date": "2026-04-06",
"completed_at": null
},
{
"id": "215e0dd6-2d27-58b9-a499-22f2e82f48a1",
"type": "commitment",
"title": "Provide technical documentation for Salesforce integration",
"status": "overdue",
"owner_type": "rep",
"due_date": "2026-04-23",
"completed_at": null
}
],
"_links": {},
"_meta": {
"type": "deal",
"expand": [
"commitments"
]
}
}{
"error": "not_found",
"message": "Deal 'invalid-id' not found"
}Authorizations
API key with sk-live- prefix. Generate keys from Console → API Keys in the Doris app.
Path Parameters
Available options:
deal, account, meeting, commitment, objection, competitor, tactic, strategy, document, person, artifact, pipeline, lead, insight Query Parameters
Comma-separated expand keys (e.g. stakeholders,meetings,commitments)
⌘I