Connect this Digital Twin to Procore (read-only)
curl --request POST \
--url https://pria.praxislxp.com/api/user/agents/connect/procore/key \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"client_id": "<string>",
"client_secret": "<string>",
"environment": "production",
"company_id": "<string>"
}
'import requests
url = "https://pria.praxislxp.com/api/user/agents/connect/procore/key"
payload = {
"client_id": "<string>",
"client_secret": "<string>",
"environment": "production",
"company_id": "<string>"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
client_id: '<string>',
client_secret: '<string>',
environment: 'production',
company_id: '<string>'
})
};
fetch('https://pria.praxislxp.com/api/user/agents/connect/procore/key', 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://pria.praxislxp.com/api/user/agents/connect/procore/key",
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([
'client_id' => '<string>',
'client_secret' => '<string>',
'environment' => 'production',
'company_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://pria.praxislxp.com/api/user/agents/connect/procore/key"
payload := strings.NewReader("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"environment\": \"production\",\n \"company_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://pria.praxislxp.com/api/user/agents/connect/procore/key")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"environment\": \"production\",\n \"company_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/user/agents/connect/procore/key")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"environment\": \"production\",\n \"company_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"connected": true,
"companyId": "123456",
"companyName": "<string>",
"projectCount": 5
}Procore connection
Connect this Digital Twin to Procore (read-only)
Validates the Client ID and Client Secret of a Procore app (a Developer Managed Service Account installed by a Procore company admin) by signing in to Procore, listing the companies the app is installed in and counting its permitted projects. On success the pair is stored encrypted and the twin’s Procore tool is switched on. When the app is installed in more than one company the response asks for one (needsCompany); send the same body again with company_id. Instance administrators only; at most 5 attempts per 10 minutes per twin. Nothing is ever written to Procore.
POST
/
api
/
user
/
agents
/
connect
/
procore
/
key
Connect this Digital Twin to Procore (read-only)
curl --request POST \
--url https://pria.praxislxp.com/api/user/agents/connect/procore/key \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"client_id": "<string>",
"client_secret": "<string>",
"environment": "production",
"company_id": "<string>"
}
'import requests
url = "https://pria.praxislxp.com/api/user/agents/connect/procore/key"
payload = {
"client_id": "<string>",
"client_secret": "<string>",
"environment": "production",
"company_id": "<string>"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
client_id: '<string>',
client_secret: '<string>',
environment: 'production',
company_id: '<string>'
})
};
fetch('https://pria.praxislxp.com/api/user/agents/connect/procore/key', 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://pria.praxislxp.com/api/user/agents/connect/procore/key",
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([
'client_id' => '<string>',
'client_secret' => '<string>',
'environment' => 'production',
'company_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://pria.praxislxp.com/api/user/agents/connect/procore/key"
payload := strings.NewReader("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"environment\": \"production\",\n \"company_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://pria.praxislxp.com/api/user/agents/connect/procore/key")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"environment\": \"production\",\n \"company_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/user/agents/connect/procore/key")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"environment\": \"production\",\n \"company_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"connected": true,
"companyId": "123456",
"companyName": "<string>",
"projectCount": 5
}Authorizations
JWT token passed in x-access-token header
Body
application/json
Was this page helpful?