WhatsApp Meta agent
Rotate Meta agent connector OAuth credentials
Replace the OAuth client credentials, and reconnect.
PUT
/
orgs
/
{org_id}
/
connections
/
{connection_id}
/
whatsapp
/
phone-numbers
/
{phone_number_id}
/
meta-agent
/
connectors
/
{connector_id}
/
oauth
Rotate Meta agent connector OAuth credentials
curl --request PUT \
--url https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"oauth_config": {
"token_url": "<string>",
"scopes_to_request": [
"<string>"
],
"client_id": "<string>",
"client_secret": "<string>"
}
}
'import requests
url = "https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth"
payload = { "oauth_config": {
"token_url": "<string>",
"scopes_to_request": ["<string>"],
"client_id": "<string>",
"client_secret": "<string>"
} }
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({
oauth_config: {
token_url: '<string>',
scopes_to_request: ['<string>'],
client_id: '<string>',
client_secret: '<string>'
}
})
};
fetch('https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth', 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.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth",
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([
'oauth_config' => [
'token_url' => '<string>',
'scopes_to_request' => [
'<string>'
],
'client_id' => '<string>',
'client_secret' => '<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.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth"
payload := strings.NewReader("{\n \"oauth_config\": {\n \"token_url\": \"<string>\",\n \"scopes_to_request\": [\n \"<string>\"\n ],\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n }\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.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"oauth_config\": {\n \"token_url\": \"<string>\",\n \"scopes_to_request\": [\n \"<string>\"\n ],\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth")
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 \"oauth_config\": {\n \"token_url\": \"<string>\",\n \"scopes_to_request\": [\n \"<string>\"\n ],\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"base_url": "<string>",
"auth_type": "<string>",
"description": "<string>",
"connector_protocol": "HTTP",
"auth_config": {},
"user_auth_injection_config": {
"location": "body",
"field_name": "<string>",
"prefix": "<string>"
},
"mcp_tool_sync": {
"status": "ERROR",
"last_attempted_at": "<string>",
"last_successful_at": "<string>",
"fingerprint": "<string>",
"tool_count": 123
},
"mtls_config": {
"has_certificate": true,
"fingerprint": "<string>",
"expires_at": "<string>",
"subject": "<string>",
"client_certificate": "<string>",
"ca_certificate": "<string>"
},
"connection_status": {
"status": "PENDING_OAUTH",
"error_message": "<string>"
}
}Authorizations
Bearer token authentication using your API key
Path Parameters
The ID of the org
The ID of the connection
The ID of the WhatsApp phone number the Meta agent runs on
The ID of the connector
Body
application/jsonmultipart/form-data
Show child attributes
Show child attributes
Response
200 - application/json
An HTTP API, or a remote MCP server. Fixed once created.
Available options:
HTTP, MCP Show child attributes
Show child attributes
Where the customer's own sign-in token goes on each call, for tools that act as the customer.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
⌘I
Rotate Meta agent connector OAuth credentials
curl --request PUT \
--url https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"oauth_config": {
"token_url": "<string>",
"scopes_to_request": [
"<string>"
],
"client_id": "<string>",
"client_secret": "<string>"
}
}
'import requests
url = "https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth"
payload = { "oauth_config": {
"token_url": "<string>",
"scopes_to_request": ["<string>"],
"client_id": "<string>",
"client_secret": "<string>"
} }
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({
oauth_config: {
token_url: '<string>',
scopes_to_request: ['<string>'],
client_id: '<string>',
client_secret: '<string>'
}
})
};
fetch('https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth', 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.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth",
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([
'oauth_config' => [
'token_url' => '<string>',
'scopes_to_request' => [
'<string>'
],
'client_id' => '<string>',
'client_secret' => '<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.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth"
payload := strings.NewReader("{\n \"oauth_config\": {\n \"token_url\": \"<string>\",\n \"scopes_to_request\": [\n \"<string>\"\n ],\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n }\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.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"oauth_config\": {\n \"token_url\": \"<string>\",\n \"scopes_to_request\": [\n \"<string>\"\n ],\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.useinvent.com/orgs/{org_id}/connections/{connection_id}/whatsapp/phone-numbers/{phone_number_id}/meta-agent/connectors/{connector_id}/oauth")
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 \"oauth_config\": {\n \"token_url\": \"<string>\",\n \"scopes_to_request\": [\n \"<string>\"\n ],\n \"client_id\": \"<string>\",\n \"client_secret\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"base_url": "<string>",
"auth_type": "<string>",
"description": "<string>",
"connector_protocol": "HTTP",
"auth_config": {},
"user_auth_injection_config": {
"location": "body",
"field_name": "<string>",
"prefix": "<string>"
},
"mcp_tool_sync": {
"status": "ERROR",
"last_attempted_at": "<string>",
"last_successful_at": "<string>",
"fingerprint": "<string>",
"tool_count": 123
},
"mtls_config": {
"has_certificate": true,
"fingerprint": "<string>",
"expires_at": "<string>",
"subject": "<string>",
"client_certificate": "<string>",
"ca_certificate": "<string>"
},
"connection_status": {
"status": "PENDING_OAUTH",
"error_message": "<string>"
}
}