curl --request POST \
--url https://api.example.com/v2/internal-contacts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"given_name": "<string>",
"family_name": "<string>",
"name": "<string>",
"phone": "<string>",
"job_title": "<string>"
}
'import requests
url = "https://api.example.com/v2/internal-contacts"
payload = {
"email": "<string>",
"given_name": "<string>",
"family_name": "<string>",
"name": "<string>",
"phone": "<string>",
"job_title": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
given_name: '<string>',
family_name: '<string>',
name: '<string>',
phone: '<string>',
job_title: '<string>'
})
};
fetch('https://api.example.com/v2/internal-contacts', 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/v2/internal-contacts",
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([
'email' => '<string>',
'given_name' => '<string>',
'family_name' => '<string>',
'name' => '<string>',
'phone' => '<string>',
'job_title' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.example.com/v2/internal-contacts"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"given_name\": \"<string>\",\n \"family_name\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"job_title\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/v2/internal-contacts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"given_name\": \"<string>\",\n \"family_name\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"job_title\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/internal-contacts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"given_name\": \"<string>\",\n \"family_name\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"job_title\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"internal_role": "account_manager",
"partner_id": "<string>",
"remote_id": "<string>",
"internal_contact": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"email": "<string>",
"given_name": "<string>",
"family_name": "<string>",
"name": "<string>",
"phone": "<string>",
"job_title": "<string>",
"object": "<string>"
},
"object": "<string>"
}{
"type": "<string>",
"status": 409,
"title": "<string>",
"detail": "<string>"
}{
"type": "request-validation",
"status": 422,
"title": "<string>",
"errors": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
],
"detail": "<string>"
}Create an Internal Contact
Creates a new internal contact (a person within the organization) and records their role via a floating assignment (no partner attached).
curl --request POST \
--url https://api.example.com/v2/internal-contacts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"given_name": "<string>",
"family_name": "<string>",
"name": "<string>",
"phone": "<string>",
"job_title": "<string>"
}
'import requests
url = "https://api.example.com/v2/internal-contacts"
payload = {
"email": "<string>",
"given_name": "<string>",
"family_name": "<string>",
"name": "<string>",
"phone": "<string>",
"job_title": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
given_name: '<string>',
family_name: '<string>',
name: '<string>',
phone: '<string>',
job_title: '<string>'
})
};
fetch('https://api.example.com/v2/internal-contacts', 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/v2/internal-contacts",
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([
'email' => '<string>',
'given_name' => '<string>',
'family_name' => '<string>',
'name' => '<string>',
'phone' => '<string>',
'job_title' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.example.com/v2/internal-contacts"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"given_name\": \"<string>\",\n \"family_name\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"job_title\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/v2/internal-contacts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"given_name\": \"<string>\",\n \"family_name\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"job_title\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v2/internal-contacts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"given_name\": \"<string>\",\n \"family_name\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\",\n \"job_title\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"internal_role": "account_manager",
"partner_id": "<string>",
"remote_id": "<string>",
"internal_contact": {
"created_at": "2023-11-07T05:31:56Z",
"modified_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"email": "<string>",
"given_name": "<string>",
"family_name": "<string>",
"name": "<string>",
"phone": "<string>",
"job_title": "<string>",
"object": "<string>"
},
"object": "<string>"
}{
"type": "<string>",
"status": 409,
"title": "<string>",
"detail": "<string>"
}{
"type": "request-validation",
"status": 422,
"title": "<string>",
"errors": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
],
"detail": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request body for creating an internal contact and recording their role.
The internal contact's email address.
1account_manager, account_executive, csm, lead, co_lead, practice_lead The internal contact's given name.
The internal contact's family name.
The internal contact's full name, if no given/family name.
The internal contact's phone number.
The internal contact's job title.
Response
Successful Response
An InternalContact assigned to a Partner with a specific role.
partner_id is null for "floating" assignments — contacts whose role is
declared at the organization level but who have not yet been attached to a
specific partner.
The role this internal contact holds for this partner.
account_manager, account_executive, csm, lead, co_lead, practice_lead Third-party sync identifier for upsert deduplication.
An internal contact (CSM, AM, etc.) at the organization level.
Show child attributes
Show child attributes
String representing the object's type. Objects of the same type share the same value.
