Summary

The updateOrganizationPermissionsTokenPermissions() mutation updates the permission set assigned to an existing organization permissions token. Use this mutation to grant or revoke specific organization-level capabilities for a token without recreating it. To create a new token, use createOrganizationPermissionsTokenV2() instead.

Syntax

graphql
updateOrganizationPermissionsTokenPermissions(
      input: UpdateOrganizationPermissionsTokenPermissionsInput!
   ): String!

The mutation takes a required input argument of type UpdateOrganizationPermissionsTokenPermissionsInput!, which contains the token identifier and the new permissions list. Use the tokens() query with typeFilter: OrganizationPermissionToken to retrieve the token identifier.

The mutation returns a non-null String! containing the identifier of the updated token.

Input parameters

Provide the unique identifier of the token and the complete list of organization permissions to assign. The permissions list replaces the existing permissions entirely.

Table: UpdateOrganizationPermissionsTokenPermissionsInput Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
idStringyes Long-Term The unique identifier of the organization token.
permissionsOrganizationPermissionyes Long-Term The list of permissions to grant. See OrganizationPermission.

Example

Raw
graphql
mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: "abc123",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: \"abc123\",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: \"abc123\",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  updateOrganizationPermissionsTokenPermissions( input: ^
    { ^
      id: \"abc123\", ^
      permissions: [ ManageUsers, ViewUsage ] ^
    } ^
  )  ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: \"abc123\",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: \"abc123\",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: \"abc123\",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  updateOrganizationPermissionsTokenPermissions( input:
    {
      id: \"abc123\",
      permissions: [ ManageUsers, ViewUsage ]
    }
  ) 
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "updateOrganizationPermissionsTokenPermissions": "abc123"
  }
}

Returned values

The mutation returns a non-null String! containing the identifier of the updated token.