from mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.auth.api_key.get_jwt_from_key(request={
"audience": "https://my-awesome-website.com",
"external_user_id": "the-user-id-in-your-system",
"permissions": [
"agent:create",
"agent:read",
],
})
# Handle response
print(res){
"token": "the-jwt-token"
}Exchange an API key for a JWT token
from mka1 import SDK
with SDK(
bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
) as sdk:
res = sdk.auth.api_key.get_jwt_from_key(request={
"audience": "https://my-awesome-website.com",
"external_user_id": "the-user-id-in-your-system",
"permissions": [
"agent:create",
"agent:read",
],
})
# Handle response
print(res){
"token": "the-jwt-token"
}Gateway auth: send Authorization: Bearer <mka1-api-key>. For multi-user server-side integrations, you can also send X-On-Behalf-Of: <external-user-id>.
JWT audience (aud) claim for the exchanged token. Set this to the target API/service URL that should accept the token.
Your external user identifier to place in the JWT subject (sub) claim.
1Token lifetime in seconds. Must be between 300 (5 minutes) and 2592000 (30 days). Defaults to 3600 (1 hour).
300 <= x <= 2592000Optional subset of API key permissions to embed in the token. If omitted, all API key permissions are used.
Successfully exchanged API key for a JWT token
Signed JWT exchange token to use when calling downstream services.
Was this page helpful?