Set app configuration
curl --request POST \
--url https://api.onecli.sh/v1/apps/{provider}/config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"clientId": "1234567890.apps.googleusercontent.com",
"clientSecret": "GOCSPX-…"
}
'import requests
url = "https://api.onecli.sh/v1/apps/{provider}/config"
payload = {
"clientId": "1234567890.apps.googleusercontent.com",
"clientSecret": "GOCSPX-…"
}
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({clientId: '1234567890.apps.googleusercontent.com', clientSecret: 'GOCSPX-…'})
};
fetch('https://api.onecli.sh/v1/apps/{provider}/config', 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/apps/{provider}/config",
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([
'clientId' => '1234567890.apps.googleusercontent.com',
'clientSecret' => 'GOCSPX-…'
]),
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/apps/{provider}/config"
payload := strings.NewReader("{\n \"clientId\": \"1234567890.apps.googleusercontent.com\",\n \"clientSecret\": \"GOCSPX-…\"\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/apps/{provider}/config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"1234567890.apps.googleusercontent.com\",\n \"clientSecret\": \"GOCSPX-…\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/apps/{provider}/config")
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 \"clientId\": \"1234567890.apps.googleusercontent.com\",\n \"clientSecret\": \"GOCSPX-…\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>"
}Apps
Set app configuration
Creates or updates the BYOC configuration for an app. Existing connections may be disconnected when credentials change.
The accepted field names are defined per app (e.g. clientId/clientSecret for OAuth apps; appId/appSlug/privateKey for github-app). Unknown keys are stripped.
POST
/
apps
/
{provider}
/
config
Set app configuration
curl --request POST \
--url https://api.onecli.sh/v1/apps/{provider}/config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"clientId": "1234567890.apps.googleusercontent.com",
"clientSecret": "GOCSPX-…"
}
'import requests
url = "https://api.onecli.sh/v1/apps/{provider}/config"
payload = {
"clientId": "1234567890.apps.googleusercontent.com",
"clientSecret": "GOCSPX-…"
}
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({clientId: '1234567890.apps.googleusercontent.com', clientSecret: 'GOCSPX-…'})
};
fetch('https://api.onecli.sh/v1/apps/{provider}/config', 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/apps/{provider}/config",
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([
'clientId' => '1234567890.apps.googleusercontent.com',
'clientSecret' => 'GOCSPX-…'
]),
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/apps/{provider}/config"
payload := strings.NewReader("{\n \"clientId\": \"1234567890.apps.googleusercontent.com\",\n \"clientSecret\": \"GOCSPX-…\"\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/apps/{provider}/config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"1234567890.apps.googleusercontent.com\",\n \"clientSecret\": \"GOCSPX-…\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/apps/{provider}/config")
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 \"clientId\": \"1234567890.apps.googleusercontent.com\",\n \"clientSecret\": \"GOCSPX-…\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>"
}Authorizations
API key obtained from the dashboard or GET /user/api-key
Path Parameters
App provider identifier (e.g., gmail, github, jira)
Body
application/json
Credential fields as defined by the app's configuration schema.
Response
Configuration saved
⌘I