Register or change a provider's app
curl --request PUT \
--url https://api.example.com/api/documents/sources/apps/{provider} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_id": "<string>",
"client_secret": "<string>",
"settings": {},
"enabled": true
}
'import requests
url = "https://api.example.com/api/documents/sources/apps/{provider}"
payload = {
"client_id": "<string>",
"client_secret": "<string>",
"settings": {},
"enabled": 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({client_id: '<string>', client_secret: '<string>', settings: {}, enabled: true})
};
fetch('https://api.example.com/api/documents/sources/apps/{provider}', 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/api/documents/sources/apps/{provider}",
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([
'client_id' => '<string>',
'client_secret' => '<string>',
'settings' => [
],
'enabled' => 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://api.example.com/api/documents/sources/apps/{provider}"
payload := strings.NewReader("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"settings\": {},\n \"enabled\": true\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://api.example.com/api/documents/sources/apps/{provider}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"settings\": {},\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/documents/sources/apps/{provider}")
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 \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"settings\": {},\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"provider": "google",
"label": "<string>",
"sources": [
"<string>"
],
"configured": true,
"console_url": "<string>",
"setup_steps": [
"<string>"
],
"scopes": [
"<string>"
],
"setting_names": [
"<string>"
],
"enabled": false,
"client_id": "<string>",
"secret_set": false,
"settings": {},
"connected_people": 0,
"updated_by": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"redirect_uri": "<string>",
"redirect_error": "<string>"
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}Document imports
Register or change a provider's app
Store the app’s client id and secret. An empty secret keeps the stored one.
Changing the client id or settings signs everyone out of that provider.
PUT
/
api
/
documents
/
sources
/
apps
/
{provider}
Register or change a provider's app
curl --request PUT \
--url https://api.example.com/api/documents/sources/apps/{provider} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"client_id": "<string>",
"client_secret": "<string>",
"settings": {},
"enabled": true
}
'import requests
url = "https://api.example.com/api/documents/sources/apps/{provider}"
payload = {
"client_id": "<string>",
"client_secret": "<string>",
"settings": {},
"enabled": 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({client_id: '<string>', client_secret: '<string>', settings: {}, enabled: true})
};
fetch('https://api.example.com/api/documents/sources/apps/{provider}', 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/api/documents/sources/apps/{provider}",
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([
'client_id' => '<string>',
'client_secret' => '<string>',
'settings' => [
],
'enabled' => 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://api.example.com/api/documents/sources/apps/{provider}"
payload := strings.NewReader("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"settings\": {},\n \"enabled\": true\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://api.example.com/api/documents/sources/apps/{provider}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"settings\": {},\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/documents/sources/apps/{provider}")
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 \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"settings\": {},\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"provider": "google",
"label": "<string>",
"sources": [
"<string>"
],
"configured": true,
"console_url": "<string>",
"setup_steps": [
"<string>"
],
"scopes": [
"<string>"
],
"setting_names": [
"<string>"
],
"enabled": false,
"client_id": "<string>",
"secret_set": false,
"settings": {},
"connected_people": 0,
"updated_by": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"redirect_uri": "<string>",
"redirect_error": "<string>"
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}Authorizations
OAuth2AuthorizationCodeBearerAPIKeyHeader
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The provider.
Available options:
google, microsoft, atlassian, notion Body
application/json
Response
Successful Response
A provider's app registration, for document admins. No secret.
Available options:
google, microsoft, atlassian, notion The sources this app opens.
Settings besides the client id.
Whether a secret is stored.
Show child attributes
Show child attributes
People signed in with it.
Register this as the app's redirect URL.
Why the redirect URL isn't known.
Was this page helpful?

