Update API access rights (users and userGroups)
curl --request PUT \
--url https://{tenant}/api/apis/{apiID}/access \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userGroupIds": [
"663a4ed6b6be920001b191aa",
"663a4ed6b6be920001b191ab"
],
"userIds": [
"663a5bbf5715ec8040251f2a"
]
}
'import requests
url = "https://{tenant}/api/apis/{apiID}/access"
payload = {
"userGroupIds": ["663a4ed6b6be920001b191aa", "663a4ed6b6be920001b191ab"],
"userIds": ["663a5bbf5715ec8040251f2a"]
}
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({
userGroupIds: ['663a4ed6b6be920001b191aa', '663a4ed6b6be920001b191ab'],
userIds: ['663a5bbf5715ec8040251f2a']
})
};
fetch('https://{tenant}/api/apis/{apiID}/access', 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://{tenant}/api/apis/{apiID}/access",
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([
'userGroupIds' => [
'663a4ed6b6be920001b191aa',
'663a4ed6b6be920001b191ab'
],
'userIds' => [
'663a5bbf5715ec8040251f2a'
]
]),
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://{tenant}/api/apis/{apiID}/access"
payload := strings.NewReader("{\n \"userGroupIds\": [\n \"663a4ed6b6be920001b191aa\",\n \"663a4ed6b6be920001b191ab\"\n ],\n \"userIds\": [\n \"663a5bbf5715ec8040251f2a\"\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://{tenant}/api/apis/{apiID}/access")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userGroupIds\": [\n \"663a4ed6b6be920001b191aa\",\n \"663a4ed6b6be920001b191ab\"\n ],\n \"userIds\": [\n \"663a5bbf5715ec8040251f2a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}/api/apis/{apiID}/access")
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 \"userGroupIds\": [\n \"663a4ed6b6be920001b191aa\",\n \"663a4ed6b6be920001b191ab\"\n ],\n \"userIds\": [\n \"663a5bbf5715ec8040251f2a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"Message": "API access updated",
"Meta": null,
"Status": "OK"
}{
"Message": "Not authorised",
"Meta": null,
"Status": "Error"
}{
"Message": "access denied: You do not have permission to access /api/apis/{apiID}/access",
"Meta": null,
"Status": "Error"
}{
"Message": "API not found",
"Meta": null,
"Status": "Error"
}{
"Message": "failed to unmarshal categories payload",
"Meta": null,
"Status": "Error"
}APIs
Update API access rights (users and userGroups)
This will update the user group and users that have access to an API.The userIds and userGroup sent will entirely replace the existing userIds IDs and userGroup ids.
PUT
/
api
/
apis
/
{apiID}
/
access
Update API access rights (users and userGroups)
curl --request PUT \
--url https://{tenant}/api/apis/{apiID}/access \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userGroupIds": [
"663a4ed6b6be920001b191aa",
"663a4ed6b6be920001b191ab"
],
"userIds": [
"663a5bbf5715ec8040251f2a"
]
}
'import requests
url = "https://{tenant}/api/apis/{apiID}/access"
payload = {
"userGroupIds": ["663a4ed6b6be920001b191aa", "663a4ed6b6be920001b191ab"],
"userIds": ["663a5bbf5715ec8040251f2a"]
}
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({
userGroupIds: ['663a4ed6b6be920001b191aa', '663a4ed6b6be920001b191ab'],
userIds: ['663a5bbf5715ec8040251f2a']
})
};
fetch('https://{tenant}/api/apis/{apiID}/access', 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://{tenant}/api/apis/{apiID}/access",
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([
'userGroupIds' => [
'663a4ed6b6be920001b191aa',
'663a4ed6b6be920001b191ab'
],
'userIds' => [
'663a5bbf5715ec8040251f2a'
]
]),
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://{tenant}/api/apis/{apiID}/access"
payload := strings.NewReader("{\n \"userGroupIds\": [\n \"663a4ed6b6be920001b191aa\",\n \"663a4ed6b6be920001b191ab\"\n ],\n \"userIds\": [\n \"663a5bbf5715ec8040251f2a\"\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://{tenant}/api/apis/{apiID}/access")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userGroupIds\": [\n \"663a4ed6b6be920001b191aa\",\n \"663a4ed6b6be920001b191ab\"\n ],\n \"userIds\": [\n \"663a5bbf5715ec8040251f2a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}/api/apis/{apiID}/access")
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 \"userGroupIds\": [\n \"663a4ed6b6be920001b191aa\",\n \"663a4ed6b6be920001b191ab\"\n ],\n \"userIds\": [\n \"663a5bbf5715ec8040251f2a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"Message": "API access updated",
"Meta": null,
"Status": "OK"
}{
"Message": "Not authorised",
"Meta": null,
"Status": "Error"
}{
"Message": "access denied: You do not have permission to access /api/apis/{apiID}/access",
"Meta": null,
"Status": "Error"
}{
"Message": "API not found",
"Meta": null,
"Status": "Error"
}{
"Message": "failed to unmarshal categories payload",
"Meta": null,
"Status": "Error"
}Authorizations
The Tyk Dashboard API Access Credentials
Path Parameters
The API ID
Body
application/json
Was this page helpful?
⌘I