Files
developer.sailpoint.com/docs/tools/sdk/python/Reference/Beta/Methods/PersonalAccessTokensApi.md
2025-03-12 19:41:45 +00:00

16 KiB

id, title, pagination_label, sidebar_label, sidebar_class_name, keywords, slug, tags
id title pagination_label sidebar_label sidebar_class_name keywords slug tags
beta-personal-access-tokens Personal_Access_Tokens Personal_Access_Tokens Personal_Access_Tokens pythonsdk
python
Python
sdk
Personal_Access_Tokens
BetaPersonal_Access_Tokens
/tools/sdk/python/beta/methods/personal-access-tokens
SDK
Software Development Kit
Personal_Access_Tokens
BetaPersonal_Access_Tokens

sailpoint.beta.PersonalAccessTokensApi

Use this API to implement personal access token (PAT) functionality. With this functionality in place, users can use PATs as an alternative to passwords for authentication in Identity Security Cloud.

PATs embed user information into the client ID and secret. This replaces the API clients' need to store and provide a username and password to establish a connection, improving Identity Security Cloud organizations' integration security.

In Identity Security Cloud, users can do the following to create and manage their PATs: Select the dropdown menu under their names, select Preferences, and then select Personal Access Tokens. They must then provide a description about the token's purpose. They can then select 'Create Token' at the bottom of the page to generate and view the Secret and Client ID.

Refer to Managing Personal Access Tokens for more information about PATs.

All URIs are relative to https://sailpoint.api.identitynow.com/beta

Method HTTP request Description
create-personal-access-token POST /personal-access-tokens Create Personal Access Token
delete-personal-access-token DELETE /personal-access-tokens/{id} Delete Personal Access Token
list-personal-access-tokens GET /personal-access-tokens List Personal Access Tokens
patch-personal-access-token PATCH /personal-access-tokens/{id} Patch Personal Access Token

create-personal-access-token

Create Personal Access Token This creates a personal access token.

API Spec

Parameters

Param Type Name Data Type Required Description
Body create_personal_access_token_request CreatePersonalAccessTokenRequest True Name and scope of personal access token.

Return type

CreatePersonalAccessTokenResponse

Responses

Code Description Data Type Response headers
200 Created. Note - this is the only time Personal Access Tokens' secret attribute will be displayed. CreatePersonalAccessTokenResponse -
400 Client Error - Returned if the request body is invalid. ErrorResponseDto -
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response -
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto -
429 Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. ListAccessModelMetadataAttribute429Response -
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto -

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Example

from sailpoint.beta.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.create_personal_access_token_request import CreatePersonalAccessTokenRequest
from sailpoint.beta.models.create_personal_access_token_response import CreatePersonalAccessTokenResponse
from pprint import pprint
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
    create_personal_access_token_request = '''{
          "scope" : [ "demo:personal-access-token-scope:first", "demo:personal-access-token-scope:second" ],
          "accessTokenValiditySeconds" : 36900,
          "name" : "NodeJS Integration"
        }''' # CreatePersonalAccessTokenRequest | Name and scope of personal access token.

    try:
        # Create Personal Access Token
        new_create_personal_access_token_request = CreatePersonalAccessTokenRequest.from_json(create_personal_access_token_request)
        results = PersonalAccessTokensApi(api_client).create_personal_access_token(create_personal_access_token_request=new_create_personal_access_token_request)
        # Below is a request that includes all optional parameters
        # results = PersonalAccessTokensApi(api_client).create_personal_access_token(new_create_personal_access_token_request)
        print("The response of PersonalAccessTokensApi->create_personal_access_token:\n")
        pprint(results)
    except Exception as e:
        print("Exception when calling PersonalAccessTokensApi->create_personal_access_token: %s\n" % e)

[Back to top]

delete-personal-access-token

Delete Personal Access Token This deletes a personal access token.

API Spec

Parameters

Param Type Name Data Type Required Description
Path id str True The personal access token id

Return type

(empty response body)

Responses

Code Description Data Type Response headers
204 No content. -
400 Client Error - Returned if the request body is invalid. ErrorResponseDto -
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response -
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto -
404 Not Found - returned if the request URL refers to a resource or object that does not exist ErrorResponseDto -
429 Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. ListAccessModelMetadataAttribute429Response -
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto -

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

Example

from sailpoint.beta.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.beta.api_client import ApiClient
from pprint import pprint
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
    id = 'ef38f94347e94562b5bb8424a56397d8' # str | The personal access token id # str | The personal access token id

    try:
        # Delete Personal Access Token
        
        PersonalAccessTokensApi(api_client).delete_personal_access_token(id=id)
        # Below is a request that includes all optional parameters
        # PersonalAccessTokensApi(api_client).delete_personal_access_token(id)
    except Exception as e:
        print("Exception when calling PersonalAccessTokensApi->delete_personal_access_token: %s\n" % e)

[Back to top]

list-personal-access-tokens

List Personal Access Tokens This gets a collection of personal access tokens associated with the optional owner-id. query parameter. If the owner-id query parameter is omitted, all personal access tokens for a tenant will be retrieved, but the caller must have the 'idn:all-personal-access-tokens:read' right.

API Spec

Parameters

Param Type Name Data Type Required Description
Query owner_id str (optional) The identity ID of the owner whose personal access tokens should be listed. If "me", the caller should have the following right: 'idn:my-personal-access-tokens:read' If an actual owner ID or if the owner-id parameter is omitted in the request, the caller should have the following right: 'idn:all-personal-access-tokens:read'. If the caller has the following right, then managed personal access tokens associated with owner-id will be retrieved: 'idn:managed-personal-access-tokens:read'
Query filters str (optional) Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: lastUsed: le, isnull

Return type

List[GetPersonalAccessTokenResponse]

Responses

Code Description Data Type Response headers
200 List of personal access tokens. List[GetPersonalAccessTokenResponse] -
400 Client Error - Returned if the request body is invalid. ErrorResponseDto -
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response -
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto -
429 Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. ListAccessModelMetadataAttribute429Response -
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto -

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

Example

from sailpoint.beta.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.get_personal_access_token_response import GetPersonalAccessTokenResponse
from pprint import pprint
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
    owner_id = '2c9180867b50d088017b554662fb281e' # str | The identity ID of the owner whose personal access tokens should be listed.  If \"me\", the caller should have the following right: 'idn:my-personal-access-tokens:read' If an actual owner ID or if the `owner-id` parameter is omitted in the request,  the caller should have the following right: 'idn:all-personal-access-tokens:read'.  If the caller has the following right, then managed personal access tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read' (optional) # str | The identity ID of the owner whose personal access tokens should be listed.  If \"me\", the caller should have the following right: 'idn:my-personal-access-tokens:read' If an actual owner ID or if the `owner-id` parameter is omitted in the request,  the caller should have the following right: 'idn:all-personal-access-tokens:read'.  If the caller has the following right, then managed personal access tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read' (optional)
    filters = 'lastUsed le 2023-02-05T10:59:27.214Z' # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results)  Filtering is supported for the following fields and operators:  **lastUsed**: *le, isnull* (optional) # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results)  Filtering is supported for the following fields and operators:  **lastUsed**: *le, isnull* (optional)

    try:
        # List Personal Access Tokens
        
        results = PersonalAccessTokensApi(api_client).list_personal_access_tokens()
        # Below is a request that includes all optional parameters
        # results = PersonalAccessTokensApi(api_client).list_personal_access_tokens(owner_id, filters)
        print("The response of PersonalAccessTokensApi->list_personal_access_tokens:\n")
        pprint(results)
    except Exception as e:
        print("Exception when calling PersonalAccessTokensApi->list_personal_access_tokens: %s\n" % e)

[Back to top]

patch-personal-access-token

Patch Personal Access Token This performs a targeted update to the field(s) of a Personal Access Token.

API Spec

Parameters

Param Type Name Data Type Required Description
Path id str True The Personal Access Token id
Body json_patch_operation []JsonPatchOperation True A list of OAuth client update operations according to the JSON Patch standard. The following fields are patchable: * name * scope

Return type

GetPersonalAccessTokenResponse

Responses

Code Description Data Type Response headers
200 Indicates the PATCH operation succeeded, and returns the PAT's new representation. GetPersonalAccessTokenResponse -
400 Client Error - Returned if the request body is invalid. ErrorResponseDto -
401 Unauthorized - Returned if there is no authorization header, or if the JWT token is expired. ListAccessModelMetadataAttribute401Response -
403 Forbidden - Returned if the user you are running as, doesn't have access to this end-point. ErrorResponseDto -
404 Not Found - returned if the request URL refers to a resource or object that does not exist ErrorResponseDto -
429 Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again. ListAccessModelMetadataAttribute429Response -
500 Internal Server Error - Returned if there is an unexpected error. ErrorResponseDto -

HTTP request headers

  • Content-Type: application/json-patch+json
  • Accept: application/json

Example

from sailpoint.beta.api.personal_access_tokens_api import PersonalAccessTokensApi
from sailpoint.beta.api_client import ApiClient
from sailpoint.beta.models.get_personal_access_token_response import GetPersonalAccessTokenResponse
from sailpoint.beta.models.json_patch_operation import JsonPatchOperation
from pprint import pprint
from sailpoint.configuration import Configuration
configuration = Configuration()


with ApiClient(configuration) as api_client:
    id = 'ef38f94347e94562b5bb8424a56397d8' # str | The Personal Access Token id # str | The Personal Access Token id
    json_patch_operation = '''[{op=replace, path=/name, value=New name}, {op=replace, path=/scope, value=[sp:scopes:all]}]''' # List[JsonPatchOperation] | A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.  The following fields are patchable: * name * scope 

    try:
        # Patch Personal Access Token
        new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
        results = PersonalAccessTokensApi(api_client).patch_personal_access_token(id=id, json_patch_operation=new_json_patch_operation)
        # Below is a request that includes all optional parameters
        # results = PersonalAccessTokensApi(api_client).patch_personal_access_token(id, new_json_patch_operation)
        print("The response of PersonalAccessTokensApi->patch_personal_access_token:\n")
        pprint(results)
    except Exception as e:
        print("Exception when calling PersonalAccessTokensApi->patch_personal_access_token: %s\n" % e)

[Back to top]