--- id: v2025-machine-identities title: MachineIdentities pagination_label: MachineIdentities sidebar_label: MachineIdentities sidebar_class_name: powershellsdk keywords: ['powershell', 'PowerShell', 'sdk', 'MachineIdentities', 'V2025MachineIdentities'] slug: /tools/sdk/powershell/v2025/methods/machine-identities tags: ['SDK', 'Software Development Kit', 'MachineIdentities', 'V2025MachineIdentities'] --- # MachineIdentities All URIs are relative to *https://sailpoint.api.identitynow.com/v2025* Method | HTTP request | Description ------------- | ------------- | ------------- [**New-V2025MachineIdentity**](#create-machine-identity) | **POST** `/machine-identities` | Create Machine Identities [**Remove-V2025MachineIdentity**](#delete-machine-identity) | **DELETE** `/machine-identities/{id}` | Delete machine identity [**Get-V2025MachineIdentity**](#get-machine-identity) | **GET** `/machine-identities/{id}` | Machine Identity Details [**Get-V2025MachineIdentities**](#list-machine-identities) | **GET** `/machine-identities` | List Machine Identities [**Update-V2025MachineIdentity**](#update-machine-identity) | **PATCH** `/machine-identities/{id}` | Update a Machine Identity ## create-machine-identity :::warning experimental This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. ::: Use this API to create a machine identity. The maximum supported length for the description field is 2000 characters. [API Spec](https://developer.sailpoint.com/docs/api/v2025/create-machine-identity) ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Body | MachineIdentity | [**MachineIdentity**](../models/machine-identity) | True | ### Return type [**MachineIdentity**](../models/machine-identity) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | Machine Identity created. | MachineIdentity 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. | ListAccessProfiles401Response 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. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json ### Example ```powershell $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $MachineIdentity = @"{ "created" : "2015-05-28T14:07:17Z", "businessApplication" : "ADService", "name" : "aName", "modified" : "2015-05-28T14:07:17Z", "description" : "", "attributes" : "{\"Region\":\"EU\"}", "id" : "id12345", "manuallyEdited" : true }"@ # Create Machine Identities try { $Result = ConvertFrom-JsonToMachineIdentity -Json $MachineIdentity New-V2025MachineIdentity -XSailPointExperimental $XSailPointExperimental -MachineIdentity $Result # Below is a request that includes all optional parameters # New-V2025MachineIdentity -XSailPointExperimental $XSailPointExperimental -MachineIdentity $Result } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling New-V2025MachineIdentity" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## delete-machine-identity :::warning experimental This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. ::: The API returns successful response if the requested machine identity was deleted. [API Spec](https://developer.sailpoint.com/docs/api/v2025/delete-machine-identity) ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Machine Identity ID | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type (empty response body) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 204 | No content - indicates the request was successful but there is no content to be returned in the response. | 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. | ListAccessProfiles401Response 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. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "ef38f94347e94562b5bb8424a56397d8" # String | Machine Identity ID $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Delete machine identity try { Remove-V2025MachineIdentity -Id $Id -XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Remove-V2025MachineIdentity -Id $Id -XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Remove-V2025MachineIdentity" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## get-machine-identity :::warning experimental This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. ::: This API returns a single machine identity using the Machine Identity ID. [API Spec](https://developer.sailpoint.com/docs/api/v2025/get-machine-identity) ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Machine Identity ID | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. ### Return type [**MachineIdentity**](../models/machine-identity) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | A machine identity object | MachineIdentity 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. | ListAccessProfiles401Response 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. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $Id = "ef38f94347e94562b5bb8424a56397d8" # String | Machine Identity ID $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") # Machine Identity Details try { Get-V2025MachineIdentity -Id $Id -XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2025MachineIdentity -Id $Id -XSailPointExperimental $XSailPointExperimental } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2025MachineIdentity" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## list-machine-identities :::warning experimental This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. ::: This API returns a list of machine identities. [API Spec](https://developer.sailpoint.com/docs/api/v2025/list-machine-identities) ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Query | Filters | **String** | (optional) | 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: **id**: *eq, in, sw* **displayName**: *eq, in, sw* **cisIdentityId**: *eq, in, sw* **description**: *eq, in, sw* **businessApplication**: *eq, in, sw* **attributes**: *eq* **manuallyEdited**: *eq* Query | Sorters | **String** | (optional) | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **businessApplication, name** Query | Count | **Boolean** | (optional) (default to $false) | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. Query | Limit | **Int32** | (optional) (default to 250) | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. Query | Offset | **Int32** | (optional) (default to 0) | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. ### Return type [**MachineIdentity[]**](../models/machine-identity) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | List of machine identities. | MachineIdentity[] 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. | ListAccessProfiles401Response 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. | ListAccessProfiles429Response 500 | Internal Server Error - Returned if there is an unexpected error. | ErrorResponseDto ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### Example ```powershell $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $Filters = 'identityId eq "2c9180858082150f0180893dbaf44201"' # String | 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: **id**: *eq, in, sw* **displayName**: *eq, in, sw* **cisIdentityId**: *eq, in, sw* **description**: *eq, in, sw* **businessApplication**: *eq, in, sw* **attributes**: *eq* **manuallyEdited**: *eq* (optional) $Sorters = "businessApplication" # String | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **businessApplication, name** (optional) $Count = $true # Boolean | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to $false) $Limit = 250 # Int32 | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) $Offset = 0 # Int32 | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # List Machine Identities try { Get-V2025MachineIdentities -XSailPointExperimental $XSailPointExperimental # Below is a request that includes all optional parameters # Get-V2025MachineIdentities -XSailPointExperimental $XSailPointExperimental -Filters $Filters -Sorters $Sorters -Count $Count -Limit $Limit -Offset $Offset } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Get-V2025MachineIdentities" Write-Host $_.ErrorDetails } ``` [[Back to top]](#) ## update-machine-identity :::warning experimental This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to `true` to use this endpoint. ::: Use this API to update machine identity details. [API Spec](https://developer.sailpoint.com/docs/api/v2025/update-machine-identity) ### Parameters Param Type | Name | Data Type | Required | Description ------------- | ------------- | ------------- | ------------- | ------------- Path | Id | **String** | True | Machine Identity ID. | XSailPointExperimental | **String** | True (default to "true") | Use this header to enable this experimental API. Body | RequestBody | [**[]SystemCollectionsHashtable**](https://learn.microsoft.com/en-us/dotnet/api/system.collections.hashtable?view=net-9.0) | True | A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. ### Return type [**MachineIdentity**](../models/machine-identity) ### Responses Code | Description | Data Type ------------- | ------------- | ------------- 200 | Updated Machine Identity object. | MachineIdentity 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. | ListAccessProfiles401Response 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. | ListAccessProfiles429Response 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 ```powershell $Id = "ef38f94347e94562b5bb8424a56397d8" # String | Machine Identity ID. $XSailPointExperimental = "true" # String | Use this header to enable this experimental API. (default to "true") $RequestBody = # SystemCollectionsHashtable[] | A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. $RequestBody = @"[{op=add, path=/attributes/securityRisk, value=medium}]"@ # SystemCollectionsHashtable[] | A JSON of updated values [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. # Update a Machine Identity try { $Result = ConvertFrom-JsonToRequestBody -Json $RequestBody Update-V2025MachineIdentity -Id $Id -XSailPointExperimental $XSailPointExperimental -RequestBody $Result # Below is a request that includes all optional parameters # Update-V2025MachineIdentity -Id $Id -XSailPointExperimental $XSailPointExperimental -RequestBody $Result } catch { Write-Host $_.Exception.Response.StatusCode.value__ "Exception occurred when calling Update-V2025MachineIdentity" Write-Host $_.ErrorDetails } ``` [[Back to top]](#)