Connect an AI app
curl --request POST \
--url https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"workspace_id": "<string>"
}
'import requests
url = "https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/"
payload = { "workspace_id": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({workspace_id: '<string>'})
};
fetch('https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/', 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.getoneprofile.ai/ai-apps/requests/{request_id}/approve/",
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([
'workspace_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/"
payload := strings.NewReader("{\n \"workspace_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workspace_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workspace_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"redirect_url": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}ai_apps
Connect an AI app
The person’s yes on the consent page: connects the app to the workspace they picked, with the access they chose, and answers where to send them back to the app. Connecting the same app to the same workspace again replaces the earlier connection.
POST
/
ai-apps
/
requests
/
{request_id}
/
approve
/
Connect an AI app
curl --request POST \
--url https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"workspace_id": "<string>"
}
'import requests
url = "https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/"
payload = { "workspace_id": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({workspace_id: '<string>'})
};
fetch('https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/', 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.getoneprofile.ai/ai-apps/requests/{request_id}/approve/",
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([
'workspace_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/"
payload := strings.NewReader("{\n \"workspace_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workspace_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/ai-apps/requests/{request_id}/approve/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workspace_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"redirect_url": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
APIKeyHeaderHTTPBearer
Path Parameters
Required string length:
1 - 64Body
application/json
The person's yes: which workspace, and what the app may do there.
What a person let one AI app do in their workspace when they connected it.
Chosen on the consent page. A workspace that is not on a paid plan reads as READ whatever was chosen, because making changes from an AI app is a paid entitlement; that is checked on every call, not stored here.
Available options:
read, write Required string length:
1 - 255Response
Successful Response
Where to send the person once they have answered.
Was this page helpful?