import { Authlete } from "@authlete/typescript-sdk";
const authlete = new Authlete({
bearer: process.env["AUTHLETE_BEARER"] ?? "",
});
async function run() {
const result = await authlete.client.management.updateAuthorizations({
serviceId: "<id>",
clientId: "<id>",
clientAuthorizationUpdateRequest: {
subject: "john",
scopes: [
"history.read",
],
},
});
console.log(result);
}
run();require 'authlete_ruby_sdk'
Models = ::Authlete::Models
s = ::Authlete::Client.new(
bearer: '<YOUR_BEARER_TOKEN_HERE>'
)
res = s.client_management.update_authorizations(service_id: '<id>', client_id: '<id>', client_authorization_update_request: Models::Components::ClientAuthorizationUpdateRequest.new(
subject: 'john',
scopes: [
'history.read',
]
))
unless res.client_authorization_update_response.nil?
# handle response
endpackage main
import(
"context"
"os"
authlete "github.com/authlete/authlete-go-sdk"
"github.com/authlete/authlete-go-sdk/models/components"
"log"
)
func main() {
ctx := context.Background()
s := authlete.New(
authlete.WithSecurity(os.Getenv("AUTHLETE_BEARER")),
)
res, err := s.Client.Management.UpdateAuthorizations(ctx, "<id>", "<id>", &components.ClientAuthorizationUpdateRequest{
Subject: "john",
Scopes: []string{
"history.read",
},
})
if err != nil {
log.Fatal(err)
}
if res.ClientAuthorizationUpdateResponse != nil {
// handle response
}
}curl --request POST \
--url https://us.authlete.com/api/{serviceId}/client/authorization/update/{clientId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"scopes": [
"<string>"
]
}
'{
"resultCode": "A138001",
"resultMessage": "[A138001] Updated 1 access token(s) issued to the client (ID = 26478243745571) of the service (API Key = 21653835348762)."
}{
"resultCode": "A001201",
"resultMessage": "[A001201] /auth/authorization, TLS must be used."
}{
"resultCode": "A001202",
"resultMessage": "[A001202] /auth/authorization, Authorization header is missing."
}{
"resultCode": "A001215",
"resultMessage": "[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."
}{
"resultCode": "A001311",
"resultMessage": "[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"
}{
"resultCode": "A001101",
"resultMessage": "[A001101] /auth/authorization, Authlete Server error."
}Update Client Tokens
Update attributes of all existing access tokens given to a client application.
import { Authlete } from "@authlete/typescript-sdk";
const authlete = new Authlete({
bearer: process.env["AUTHLETE_BEARER"] ?? "",
});
async function run() {
const result = await authlete.client.management.updateAuthorizations({
serviceId: "<id>",
clientId: "<id>",
clientAuthorizationUpdateRequest: {
subject: "john",
scopes: [
"history.read",
],
},
});
console.log(result);
}
run();require 'authlete_ruby_sdk'
Models = ::Authlete::Models
s = ::Authlete::Client.new(
bearer: '<YOUR_BEARER_TOKEN_HERE>'
)
res = s.client_management.update_authorizations(service_id: '<id>', client_id: '<id>', client_authorization_update_request: Models::Components::ClientAuthorizationUpdateRequest.new(
subject: 'john',
scopes: [
'history.read',
]
))
unless res.client_authorization_update_response.nil?
# handle response
endpackage main
import(
"context"
"os"
authlete "github.com/authlete/authlete-go-sdk"
"github.com/authlete/authlete-go-sdk/models/components"
"log"
)
func main() {
ctx := context.Background()
s := authlete.New(
authlete.WithSecurity(os.Getenv("AUTHLETE_BEARER")),
)
res, err := s.Client.Management.UpdateAuthorizations(ctx, "<id>", "<id>", &components.ClientAuthorizationUpdateRequest{
Subject: "john",
Scopes: []string{
"history.read",
},
})
if err != nil {
log.Fatal(err)
}
if res.ClientAuthorizationUpdateResponse != nil {
// handle response
}
}curl --request POST \
--url https://us.authlete.com/api/{serviceId}/client/authorization/update/{clientId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"scopes": [
"<string>"
]
}
'{
"resultCode": "A138001",
"resultMessage": "[A138001] Updated 1 access token(s) issued to the client (ID = 26478243745571) of the service (API Key = 21653835348762)."
}{
"resultCode": "A001201",
"resultMessage": "[A001201] /auth/authorization, TLS must be used."
}{
"resultCode": "A001202",
"resultMessage": "[A001202] /auth/authorization, Authorization header is missing."
}{
"resultCode": "A001215",
"resultMessage": "[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."
}{
"resultCode": "A001311",
"resultMessage": "[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"
}{
"resultCode": "A001101",
"resultMessage": "[A001101] /auth/authorization, Authlete Server error."
}Authorizations
Authenticate every request with a Service Access Token or Organization Token.
Set the token value in the Authorization: Bearer <token> header.
Service Access Token: Scoped to a single service. Use when automating service-level configuration or runtime flows.
Organization Token: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.
Both token types are issued by the Authlete console or provisioning APIs.
Body
The subject (= unique identifier) of the end-user who has granted authorization to the client application.
An array of new scopes. Optional. If a non-null value is given, the new scopes are set to all
existing access tokens. If an API call is made using "Content-Type: application/x-www-form-urlencoded",
scope names listed in this request parameter should be delimited by spaces (after form encoding,
spaces are converted to +).