curl --request PUT \
--url https://universal.rollout.com/api/credentials/{credentialId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"entitiesToSync": {
"actionPlanPeople": true,
"actionPlans": true,
"appointments": true,
"assets": true,
"borrowers": true,
"calls": true,
"calendars": true,
"calendarEvents": true,
"customFields": true,
"events": true,
"liabilities": true,
"lists": true,
"loans": true,
"notes": true,
"offices": true,
"personAssignments": true,
"properties": true,
"realEstateOwned": true,
"smartLists": true,
"tasks": true,
"taskTemplates": true,
"teams": true,
"textMessages": true,
"emailMarketingCampaigns": true,
"emailMarketingEvents": true,
"emailMessages": true,
"appointmentOutcomes": true,
"appointmentTypes": true,
"stages": true,
"emailThreads": true,
"documents": true,
"sources": true,
"tags": true,
"timeframes": true,
"peopleRelationships": true,
"pipelines": true,
"ponds": true,
"transactionNotes": true,
"transactionStageHistory": true
}
}
'import requests
url = "https://universal.rollout.com/api/credentials/{credentialId}"
payload = { "entitiesToSync": {
"actionPlanPeople": True,
"actionPlans": True,
"appointments": True,
"assets": True,
"borrowers": True,
"calls": True,
"calendars": True,
"calendarEvents": True,
"customFields": True,
"events": True,
"liabilities": True,
"lists": True,
"loans": True,
"notes": True,
"offices": True,
"personAssignments": True,
"properties": True,
"realEstateOwned": True,
"smartLists": True,
"tasks": True,
"taskTemplates": True,
"teams": True,
"textMessages": True,
"emailMarketingCampaigns": True,
"emailMarketingEvents": True,
"emailMessages": True,
"appointmentOutcomes": True,
"appointmentTypes": True,
"stages": True,
"emailThreads": True,
"documents": True,
"sources": True,
"tags": True,
"timeframes": True,
"peopleRelationships": True,
"pipelines": True,
"ponds": True,
"transactionNotes": True,
"transactionStageHistory": True
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
entitiesToSync: {
actionPlanPeople: true,
actionPlans: true,
appointments: true,
assets: true,
borrowers: true,
calls: true,
calendars: true,
calendarEvents: true,
customFields: true,
events: true,
liabilities: true,
lists: true,
loans: true,
notes: true,
offices: true,
personAssignments: true,
properties: true,
realEstateOwned: true,
smartLists: true,
tasks: true,
taskTemplates: true,
teams: true,
textMessages: true,
emailMarketingCampaigns: true,
emailMarketingEvents: true,
emailMessages: true,
appointmentOutcomes: true,
appointmentTypes: true,
stages: true,
emailThreads: true,
documents: true,
sources: true,
tags: true,
timeframes: true,
peopleRelationships: true,
pipelines: true,
ponds: true,
transactionNotes: true,
transactionStageHistory: true
}
})
};
fetch('https://universal.rollout.com/api/credentials/{credentialId}', 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://universal.rollout.com/api/credentials/{credentialId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'entitiesToSync' => [
'actionPlanPeople' => true,
'actionPlans' => true,
'appointments' => true,
'assets' => true,
'borrowers' => true,
'calls' => true,
'calendars' => true,
'calendarEvents' => true,
'customFields' => true,
'events' => true,
'liabilities' => true,
'lists' => true,
'loans' => true,
'notes' => true,
'offices' => true,
'personAssignments' => true,
'properties' => true,
'realEstateOwned' => true,
'smartLists' => true,
'tasks' => true,
'taskTemplates' => true,
'teams' => true,
'textMessages' => true,
'emailMarketingCampaigns' => true,
'emailMarketingEvents' => true,
'emailMessages' => true,
'appointmentOutcomes' => true,
'appointmentTypes' => true,
'stages' => true,
'emailThreads' => true,
'documents' => true,
'sources' => true,
'tags' => true,
'timeframes' => true,
'peopleRelationships' => true,
'pipelines' => true,
'ponds' => true,
'transactionNotes' => true,
'transactionStageHistory' => true
]
]),
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://universal.rollout.com/api/credentials/{credentialId}"
payload := strings.NewReader("{\n \"entitiesToSync\": {\n \"actionPlanPeople\": true,\n \"actionPlans\": true,\n \"appointments\": true,\n \"assets\": true,\n \"borrowers\": true,\n \"calls\": true,\n \"calendars\": true,\n \"calendarEvents\": true,\n \"customFields\": true,\n \"events\": true,\n \"liabilities\": true,\n \"lists\": true,\n \"loans\": true,\n \"notes\": true,\n \"offices\": true,\n \"personAssignments\": true,\n \"properties\": true,\n \"realEstateOwned\": true,\n \"smartLists\": true,\n \"tasks\": true,\n \"taskTemplates\": true,\n \"teams\": true,\n \"textMessages\": true,\n \"emailMarketingCampaigns\": true,\n \"emailMarketingEvents\": true,\n \"emailMessages\": true,\n \"appointmentOutcomes\": true,\n \"appointmentTypes\": true,\n \"stages\": true,\n \"emailThreads\": true,\n \"documents\": true,\n \"sources\": true,\n \"tags\": true,\n \"timeframes\": true,\n \"peopleRelationships\": true,\n \"pipelines\": true,\n \"ponds\": true,\n \"transactionNotes\": true,\n \"transactionStageHistory\": true\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://universal.rollout.com/api/credentials/{credentialId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entitiesToSync\": {\n \"actionPlanPeople\": true,\n \"actionPlans\": true,\n \"appointments\": true,\n \"assets\": true,\n \"borrowers\": true,\n \"calls\": true,\n \"calendars\": true,\n \"calendarEvents\": true,\n \"customFields\": true,\n \"events\": true,\n \"liabilities\": true,\n \"lists\": true,\n \"loans\": true,\n \"notes\": true,\n \"offices\": true,\n \"personAssignments\": true,\n \"properties\": true,\n \"realEstateOwned\": true,\n \"smartLists\": true,\n \"tasks\": true,\n \"taskTemplates\": true,\n \"teams\": true,\n \"textMessages\": true,\n \"emailMarketingCampaigns\": true,\n \"emailMarketingEvents\": true,\n \"emailMessages\": true,\n \"appointmentOutcomes\": true,\n \"appointmentTypes\": true,\n \"stages\": true,\n \"emailThreads\": true,\n \"documents\": true,\n \"sources\": true,\n \"tags\": true,\n \"timeframes\": true,\n \"peopleRelationships\": true,\n \"pipelines\": true,\n \"ponds\": true,\n \"transactionNotes\": true,\n \"transactionStageHistory\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://universal.rollout.com/api/credentials/{credentialId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entitiesToSync\": {\n \"actionPlanPeople\": true,\n \"actionPlans\": true,\n \"appointments\": true,\n \"assets\": true,\n \"borrowers\": true,\n \"calls\": true,\n \"calendars\": true,\n \"calendarEvents\": true,\n \"customFields\": true,\n \"events\": true,\n \"liabilities\": true,\n \"lists\": true,\n \"loans\": true,\n \"notes\": true,\n \"offices\": true,\n \"personAssignments\": true,\n \"properties\": true,\n \"realEstateOwned\": true,\n \"smartLists\": true,\n \"tasks\": true,\n \"taskTemplates\": true,\n \"teams\": true,\n \"textMessages\": true,\n \"emailMarketingCampaigns\": true,\n \"emailMarketingEvents\": true,\n \"emailMessages\": true,\n \"appointmentOutcomes\": true,\n \"appointmentTypes\": true,\n \"stages\": true,\n \"emailThreads\": true,\n \"documents\": true,\n \"sources\": true,\n \"tags\": true,\n \"timeframes\": true,\n \"peopleRelationships\": true,\n \"pipelines\": true,\n \"ponds\": true,\n \"transactionNotes\": true,\n \"transactionStageHistory\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"createdAt": "<string>",
"appKey": "<string>",
"credentialKey": "<string>",
"plan": "<string>",
"invalidatedAt": "<string>",
"lastInboundSyncCompletedAt": "<string>",
"numInboundSyncFailedAttempts": 123,
"entitiesToSync": {},
"label": "<string>",
"avatar": "<string>",
"permissions": {},
"requirements": {},
"data": {}
}{
"errorMessage": "<string>"
}Update Credential
Changes the optional data types synced for an existing connection; see the configuration example.
The entitiesToSync object replaces your app’s optional selection for this credential. Include all optional types you still need. Saving resets the connection’s sync; allow the data to sync before expecting complete results.
curl --request PUT \
--url https://universal.rollout.com/api/credentials/{credentialId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"entitiesToSync": {
"actionPlanPeople": true,
"actionPlans": true,
"appointments": true,
"assets": true,
"borrowers": true,
"calls": true,
"calendars": true,
"calendarEvents": true,
"customFields": true,
"events": true,
"liabilities": true,
"lists": true,
"loans": true,
"notes": true,
"offices": true,
"personAssignments": true,
"properties": true,
"realEstateOwned": true,
"smartLists": true,
"tasks": true,
"taskTemplates": true,
"teams": true,
"textMessages": true,
"emailMarketingCampaigns": true,
"emailMarketingEvents": true,
"emailMessages": true,
"appointmentOutcomes": true,
"appointmentTypes": true,
"stages": true,
"emailThreads": true,
"documents": true,
"sources": true,
"tags": true,
"timeframes": true,
"peopleRelationships": true,
"pipelines": true,
"ponds": true,
"transactionNotes": true,
"transactionStageHistory": true
}
}
'import requests
url = "https://universal.rollout.com/api/credentials/{credentialId}"
payload = { "entitiesToSync": {
"actionPlanPeople": True,
"actionPlans": True,
"appointments": True,
"assets": True,
"borrowers": True,
"calls": True,
"calendars": True,
"calendarEvents": True,
"customFields": True,
"events": True,
"liabilities": True,
"lists": True,
"loans": True,
"notes": True,
"offices": True,
"personAssignments": True,
"properties": True,
"realEstateOwned": True,
"smartLists": True,
"tasks": True,
"taskTemplates": True,
"teams": True,
"textMessages": True,
"emailMarketingCampaigns": True,
"emailMarketingEvents": True,
"emailMessages": True,
"appointmentOutcomes": True,
"appointmentTypes": True,
"stages": True,
"emailThreads": True,
"documents": True,
"sources": True,
"tags": True,
"timeframes": True,
"peopleRelationships": True,
"pipelines": True,
"ponds": True,
"transactionNotes": True,
"transactionStageHistory": True
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
entitiesToSync: {
actionPlanPeople: true,
actionPlans: true,
appointments: true,
assets: true,
borrowers: true,
calls: true,
calendars: true,
calendarEvents: true,
customFields: true,
events: true,
liabilities: true,
lists: true,
loans: true,
notes: true,
offices: true,
personAssignments: true,
properties: true,
realEstateOwned: true,
smartLists: true,
tasks: true,
taskTemplates: true,
teams: true,
textMessages: true,
emailMarketingCampaigns: true,
emailMarketingEvents: true,
emailMessages: true,
appointmentOutcomes: true,
appointmentTypes: true,
stages: true,
emailThreads: true,
documents: true,
sources: true,
tags: true,
timeframes: true,
peopleRelationships: true,
pipelines: true,
ponds: true,
transactionNotes: true,
transactionStageHistory: true
}
})
};
fetch('https://universal.rollout.com/api/credentials/{credentialId}', 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://universal.rollout.com/api/credentials/{credentialId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'entitiesToSync' => [
'actionPlanPeople' => true,
'actionPlans' => true,
'appointments' => true,
'assets' => true,
'borrowers' => true,
'calls' => true,
'calendars' => true,
'calendarEvents' => true,
'customFields' => true,
'events' => true,
'liabilities' => true,
'lists' => true,
'loans' => true,
'notes' => true,
'offices' => true,
'personAssignments' => true,
'properties' => true,
'realEstateOwned' => true,
'smartLists' => true,
'tasks' => true,
'taskTemplates' => true,
'teams' => true,
'textMessages' => true,
'emailMarketingCampaigns' => true,
'emailMarketingEvents' => true,
'emailMessages' => true,
'appointmentOutcomes' => true,
'appointmentTypes' => true,
'stages' => true,
'emailThreads' => true,
'documents' => true,
'sources' => true,
'tags' => true,
'timeframes' => true,
'peopleRelationships' => true,
'pipelines' => true,
'ponds' => true,
'transactionNotes' => true,
'transactionStageHistory' => true
]
]),
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://universal.rollout.com/api/credentials/{credentialId}"
payload := strings.NewReader("{\n \"entitiesToSync\": {\n \"actionPlanPeople\": true,\n \"actionPlans\": true,\n \"appointments\": true,\n \"assets\": true,\n \"borrowers\": true,\n \"calls\": true,\n \"calendars\": true,\n \"calendarEvents\": true,\n \"customFields\": true,\n \"events\": true,\n \"liabilities\": true,\n \"lists\": true,\n \"loans\": true,\n \"notes\": true,\n \"offices\": true,\n \"personAssignments\": true,\n \"properties\": true,\n \"realEstateOwned\": true,\n \"smartLists\": true,\n \"tasks\": true,\n \"taskTemplates\": true,\n \"teams\": true,\n \"textMessages\": true,\n \"emailMarketingCampaigns\": true,\n \"emailMarketingEvents\": true,\n \"emailMessages\": true,\n \"appointmentOutcomes\": true,\n \"appointmentTypes\": true,\n \"stages\": true,\n \"emailThreads\": true,\n \"documents\": true,\n \"sources\": true,\n \"tags\": true,\n \"timeframes\": true,\n \"peopleRelationships\": true,\n \"pipelines\": true,\n \"ponds\": true,\n \"transactionNotes\": true,\n \"transactionStageHistory\": true\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://universal.rollout.com/api/credentials/{credentialId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"entitiesToSync\": {\n \"actionPlanPeople\": true,\n \"actionPlans\": true,\n \"appointments\": true,\n \"assets\": true,\n \"borrowers\": true,\n \"calls\": true,\n \"calendars\": true,\n \"calendarEvents\": true,\n \"customFields\": true,\n \"events\": true,\n \"liabilities\": true,\n \"lists\": true,\n \"loans\": true,\n \"notes\": true,\n \"offices\": true,\n \"personAssignments\": true,\n \"properties\": true,\n \"realEstateOwned\": true,\n \"smartLists\": true,\n \"tasks\": true,\n \"taskTemplates\": true,\n \"teams\": true,\n \"textMessages\": true,\n \"emailMarketingCampaigns\": true,\n \"emailMarketingEvents\": true,\n \"emailMessages\": true,\n \"appointmentOutcomes\": true,\n \"appointmentTypes\": true,\n \"stages\": true,\n \"emailThreads\": true,\n \"documents\": true,\n \"sources\": true,\n \"tags\": true,\n \"timeframes\": true,\n \"peopleRelationships\": true,\n \"pipelines\": true,\n \"ponds\": true,\n \"transactionNotes\": true,\n \"transactionStageHistory\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://universal.rollout.com/api/credentials/{credentialId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entitiesToSync\": {\n \"actionPlanPeople\": true,\n \"actionPlans\": true,\n \"appointments\": true,\n \"assets\": true,\n \"borrowers\": true,\n \"calls\": true,\n \"calendars\": true,\n \"calendarEvents\": true,\n \"customFields\": true,\n \"events\": true,\n \"liabilities\": true,\n \"lists\": true,\n \"loans\": true,\n \"notes\": true,\n \"offices\": true,\n \"personAssignments\": true,\n \"properties\": true,\n \"realEstateOwned\": true,\n \"smartLists\": true,\n \"tasks\": true,\n \"taskTemplates\": true,\n \"teams\": true,\n \"textMessages\": true,\n \"emailMarketingCampaigns\": true,\n \"emailMarketingEvents\": true,\n \"emailMessages\": true,\n \"appointmentOutcomes\": true,\n \"appointmentTypes\": true,\n \"stages\": true,\n \"emailThreads\": true,\n \"documents\": true,\n \"sources\": true,\n \"tags\": true,\n \"timeframes\": true,\n \"peopleRelationships\": true,\n \"pipelines\": true,\n \"ponds\": true,\n \"transactionNotes\": true,\n \"transactionStageHistory\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"createdAt": "<string>",
"appKey": "<string>",
"credentialKey": "<string>",
"plan": "<string>",
"invalidatedAt": "<string>",
"lastInboundSyncCompletedAt": "<string>",
"numInboundSyncFailedAttempts": 123,
"entitiesToSync": {},
"label": "<string>",
"avatar": "<string>",
"permissions": {},
"requirements": {},
"data": {}
}{
"errorMessage": "<string>"
}Authorizations
Consumer JWT minted by the tenant's backend
Path Parameters
Body
Show child attributes
Show child attributes
Response
Response for status 200
Show child attributes
Show child attributes
What this credential can do, per entity and operation. Omitted when the connector checks the credential's permissions but no result is available yet.
Show child attributes
Show child attributes
What writing each entity needs beyond the request schema, per operation. Entities without such rules are left out.
Show child attributes
Show child attributes
Show child attributes
Show child attributes