Team User Management
team.credential.create
Creates a new API credential for the authenticated user’s team. The clientSecret is returned only once in this response — store it immediately in a secrets manager.
POST
/
team.v1.TeamManagementService
/
CreateApiCredential
CreateApiCredential
curl --request POST \
--url https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "SailPoint Production"
}
'import requests
url = "https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential"
payload = { "name": "SailPoint Production" }
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({name: 'SailPoint Production'})
};
fetch('https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential', 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.manus.im/team.v1.TeamManagementService/CreateApiCredential",
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([
'name' => 'SailPoint Production'
]),
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.manus.im/team.v1.TeamManagementService/CreateApiCredential"
payload := strings.NewReader("{\n \"name\": \"SailPoint Production\"\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.manus.im/team.v1.TeamManagementService/CreateApiCredential")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"SailPoint Production\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential")
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 \"name\": \"SailPoint Production\"\n}"
response = http.request(request)
puts response.read_body{
"clientId": "tm_RRa7dgjD_AFhru6AnZJ8W",
"clientSecret": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456"
}Questions or issues? Contact us at api-support@manus.ai.
Auth: Browser session token (Bearer). See Quickstart Step 1 for how to extract it from DevTools.
clientSecret is only returned once — store it in a secrets manager immediately. There is no way to retrieve it later; if you lose it, delete the credential and create a new one.Naming: Use a label that identifies the consumer (e.g. “SailPoint Production”, “Okta Sandbox”) — it appears in audit logs and the credential list.v2 alternative: v2 issues credentials as standard enterprise API keys via the Compliance API settings UI, without the DevTools step. See v2 Authentication.Authorizations
Browser session token. Open Manus, find any authenticated request in DevTools → Network, and copy the value after Bearer from the Authorization header. Used only for credential management RPCs.
Body
application/json
Human-readable label for the credential. Surfaced in the credential list and audit logs.
Example:
"SailPoint Production"
Response
200 - application/json
Credential created successfully.
⌘I
CreateApiCredential
curl --request POST \
--url https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "SailPoint Production"
}
'import requests
url = "https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential"
payload = { "name": "SailPoint Production" }
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({name: 'SailPoint Production'})
};
fetch('https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential', 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.manus.im/team.v1.TeamManagementService/CreateApiCredential",
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([
'name' => 'SailPoint Production'
]),
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.manus.im/team.v1.TeamManagementService/CreateApiCredential"
payload := strings.NewReader("{\n \"name\": \"SailPoint Production\"\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.manus.im/team.v1.TeamManagementService/CreateApiCredential")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"SailPoint Production\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.manus.im/team.v1.TeamManagementService/CreateApiCredential")
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 \"name\": \"SailPoint Production\"\n}"
response = http.request(request)
puts response.read_body{
"clientId": "tm_RRa7dgjD_AFhru6AnZJ8W",
"clientSecret": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456"
}