curl --request POST \
--url https://api.onecli.sh/v1/org/apps/{provider}/connect \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fields": {},
"connectionId": "<string>",
"label": "<string>",
"method": "<string>"
}
'import requests
url = "https://api.onecli.sh/v1/org/apps/{provider}/connect"
payload = {
"fields": {},
"connectionId": "<string>",
"label": "<string>",
"method": "<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({fields: {}, connectionId: '<string>', label: '<string>', method: '<string>'})
};
fetch('https://api.onecli.sh/v1/org/apps/{provider}/connect', 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.onecli.sh/v1/org/apps/{provider}/connect",
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([
'fields' => [
],
'connectionId' => '<string>',
'label' => '<string>',
'method' => '<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.onecli.sh/v1/org/apps/{provider}/connect"
payload := strings.NewReader("{\n \"fields\": {},\n \"connectionId\": \"<string>\",\n \"label\": \"<string>\",\n \"method\": \"<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.onecli.sh/v1/org/apps/{provider}/connect")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fields\": {},\n \"connectionId\": \"<string>\",\n \"label\": \"<string>\",\n \"method\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/org/apps/{provider}/connect")
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 \"fields\": {},\n \"connectionId\": \"<string>\",\n \"label\": \"<string>\",\n \"method\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>"
}{
"error": "<string>"
}Connect an app at the organization level
Like POST /apps/{provider}/connect, but the connection is shared into every workspace. Admin or owner.
curl --request POST \
--url https://api.onecli.sh/v1/org/apps/{provider}/connect \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fields": {},
"connectionId": "<string>",
"label": "<string>",
"method": "<string>"
}
'import requests
url = "https://api.onecli.sh/v1/org/apps/{provider}/connect"
payload = {
"fields": {},
"connectionId": "<string>",
"label": "<string>",
"method": "<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({fields: {}, connectionId: '<string>', label: '<string>', method: '<string>'})
};
fetch('https://api.onecli.sh/v1/org/apps/{provider}/connect', 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.onecli.sh/v1/org/apps/{provider}/connect",
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([
'fields' => [
],
'connectionId' => '<string>',
'label' => '<string>',
'method' => '<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.onecli.sh/v1/org/apps/{provider}/connect"
payload := strings.NewReader("{\n \"fields\": {},\n \"connectionId\": \"<string>\",\n \"label\": \"<string>\",\n \"method\": \"<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.onecli.sh/v1/org/apps/{provider}/connect")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fields\": {},\n \"connectionId\": \"<string>\",\n \"label\": \"<string>\",\n \"method\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/org/apps/{provider}/connect")
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 \"fields\": {},\n \"connectionId\": \"<string>\",\n \"label\": \"<string>\",\n \"method\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
A workspace API key (oc_…) or organization API key (oc_org_…). Workspace-scoped endpoints called with an organization key also need X-Workspace-Id.
Path Parameters
App provider identifier (for example gmail, github, jira).
Body
Direct-credential connect (API key and credentials-import apps). The required fields keys are the app's own and are listed on its integration page.
The app's credential fields (for example { "apiKey": "…" }).
Show child attributes
Show child attributes
Re-authenticate this existing connection instead of creating a new one.
Display label for the new connection. Defaults to an identity extracted from the credentials.
For apps that offer more than one direct method, which one fields belongs to.
Response
Connected