cURL
curl -X POST "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"example": "value"
}'fetch("https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings", {
method: "POST",
headers: {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
example: "value"
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));import requests
url = "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings"
headers = {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"example": "value"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings"
body := map[string]string{
"example": "value",
}
jsonData, _ := json.Marshal(body)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("X-API-KEY", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
responseBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(responseBody))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings",
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([
'resourceId' => '<string>',
'requestedScopes' => [
'<string>'
],
'clientId' => '<string>',
'clientSecret' => '<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;
}HttpResponse<String> response = Unirest.post("https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"resourceId\": \"<string>\",\n \"requestedScopes\": [\n \"<string>\"\n ],\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings")
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 \"resourceId\": \"<string>\",\n \"requestedScopes\": [\n \"<string>\"\n ],\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"resourceOauthSettings": {
"id": "<string>",
"resourceId": "<string>",
"upstreamOauthMode": "<string>",
"requestedScopes": [
"<string>"
],
"createdAt": "2023-01-15T01:30:15.01Z",
"updatedAt": "2023-01-15T01:30:15.01Z",
"clientId": "<string>",
"clientSecretSet": true
}
}{
"code": "invalid_request",
"message": "Invalid request parameters",
"details": {}
}{
"code": "unauthorized",
"message": "Authentication required"
}{
"code": "forbidden",
"message": "Insufficient permissions to perform this action"
}{
"code": "not_found",
"message": "Resource not found"
}{
"code": "internal_error",
"message": "An internal error occurred"
}core.v1.ResourceService
Create resource OAuth settings
Enable OAuth for an MCP server. OAuth clients can then connect to it through the Connector, and, unless the upstream OAuth mode is “none”, users can link their own upstream accounts. No network discovery happens until a user starts linking.
POST
/
core.v1.ResourceService
/
CreateResourceOAuthSettings
cURL
curl -X POST "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings" \
-H "X-API-KEY: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"example": "value"
}'fetch("https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings", {
method: "POST",
headers: {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
example: "value"
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));import requests
url = "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings"
headers = {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"example": "value"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings"
body := map[string]string{
"example": "value",
}
jsonData, _ := json.Marshal(body)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("X-API-KEY", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
responseBody, _ := io.ReadAll(resp.Body)
fmt.Println(string(responseBody))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings",
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([
'resourceId' => '<string>',
'requestedScopes' => [
'<string>'
],
'clientId' => '<string>',
'clientSecret' => '<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;
}HttpResponse<String> response = Unirest.post("https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"resourceId\": \"<string>\",\n \"requestedScopes\": [\n \"<string>\"\n ],\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.joinformal.com/core.v1.ResourceService/CreateResourceOAuthSettings")
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 \"resourceId\": \"<string>\",\n \"requestedScopes\": [\n \"<string>\"\n ],\n \"clientId\": \"<string>\",\n \"clientSecret\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"resourceOauthSettings": {
"id": "<string>",
"resourceId": "<string>",
"upstreamOauthMode": "<string>",
"requestedScopes": [
"<string>"
],
"createdAt": "2023-01-15T01:30:15.01Z",
"updatedAt": "2023-01-15T01:30:15.01Z",
"clientId": "<string>",
"clientSecretSet": true
}
}{
"code": "invalid_request",
"message": "Invalid request parameters",
"details": {}
}{
"code": "unauthorized",
"message": "Authentication required"
}{
"code": "forbidden",
"message": "Insufficient permissions to perform this action"
}{
"code": "not_found",
"message": "Resource not found"
}{
"code": "internal_error",
"message": "An internal error occurred"
}Authorizations
API key authentication. Get your API key from the Control Plane.
Body
application/json
Minimum string length:
1Available options:
, auto, cimd, pre_registered, none Maximum array length:
50Pattern:
^[\x21\x23-\x5B\x5D-\x7E]{1,256}$Pattern:
^[\x21-\x7E]{1,512}$Maximum string length:
1024Response
Success
Show child attributes
Show child attributes
Was this page helpful?