You need to give a single user access to a specific subscription, and you don't want to set up a group for it. Instead of inviting the user and creating policies afterwards, you can include the permissions in the invitation itself. The permissions are granted automatically when the user accepts.
Approach: Create an invitation with predefined permissions, then track it until the user accepts.
If several users need the same access, or you expect access to change over time, onboard them as a team with a group. Permissions granted through an invitation are tied to the individual user.
- An access token with
tenant.subjects.manageon scope/ iam.policy.writeon every scope you want to grant in the invitation- The actions and scope URIs to grant (see Policies)
- Mock serverhttps://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations
curl -i -X POST \
https://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"email": "jane.doe@example.com",
"permissions": [
{
"action": "string",
"scope": "string"
}
],
"ttlDays": 0,
"redirectUri": "string"
}'Example request body:
{
"email": "jane.doe@example.com",
"permissions": [
{ "action": "banking.ais.read", "scope": "/subscriptions/123" }
],
"ttlDays": 7,
"redirectUri": "https://app.example.com/welcome"
}permissionslists the action and scope pairs granted when the invitation is accepted.ttlDayssets how many days the invitation stays valid.redirectUriis optional. It is where the user is sent after completing registration.
The user receives an email with a link to complete registration in Aritma ID. Note the id from the response so you can track the invitation.
- Mock serverhttps://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations/{id}
curl -i -X GET \
'https://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'When the user completes registration, the status changes to Accepted and the permissions take effect. If the user doesn't accept within ttlDays, the status changes to Expired and no permissions are granted.
To see all invitations in your tenant, use GetInvitations.
If the user didn't receive the email, or you wish to extend the TTL, resend it:
- Mock serverhttps://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations/{id}/resend
curl -i -X POST \
'https://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations/{id}/resend?ttlDays=0' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'If the invitation was sent by mistake or with the wrong permissions, cancel it and create a new one:
- Mock serverhttps://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations/{id}
curl -i -X DELETE \
'https://developer.aritma.com/_mock/apis/platform/iam/openapi/iam-openapi/v1/invitations/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'- To confirm what the user can do after accepting, use View a user's permissions
- To grant more access later, create a policy
- To remove access when the user leaves, follow Revoke Access for a Departed User