API Patch Attribute - End Date

Hi Guys,

I need some help with the correct API Patch endpoint to use to update end date for identities. I am using the V3 endpoint as follows:

https://sailpoint.api.identitynow.com/v3/auth-users/:id (I would have updated the ID and tenant in postman). The image below shows the body details and the error message I’m getting.

I keep getting a bad request so I know that something is wrong with the details of the request, I’m just not sure how to do it even when I follow the documentation.
I am trying to test this in postman first to incorporate in a script I am working on but keep getting the error “The request could not be
parsed” and that its a bad request.

Hi @dcoleman , mentioned API doesn’t update identity attributes. It is to implement user authentication. You can check more about here Auth Users | SailPoint Developer Community.

In order to update any of identity attribute then you can use this API put-identity-attribute | SailPoint Developer Community

@JackSparrow ok, let me explore that API you mentioned and try again. Thanks for the prompt reponse.

@JackSparrow I tried the API and is getting a “Cannot
consume content type” error, however I’m not sure if that API can achieve exactly what I want. Just for clarity, I want to update the value of the attribute.

example: from
“attributeOldVal”:“2025-06-30” to “attributeNewVal”:“2025-07-07” ,

as oppose to updating the attribute itself. I wasn’t seeing anything on how to update the value of the attribute, hence why I was using a patch API before I just don’t think the endpoint was correct.

@dcoleman, the endDate identity attribute cannot be updated directly via the API. However, if this endDate is available in your authoritative source, it can be updated through that source.

Is this a one-time exception for updating endDate, or are you planning to do this on a regular basis?

If you need to implement a consistent and automated process, an alternative approach would be to use a delimited file source. You can include the endDate attribute in this source and map it to the endDate identity attribute in the identity profile.

This setup would allow you to update the attribute using:

  • API calls to the delimited source,
  • CSV file imports,
  • or a combination of forms and workflows.

Hi @baoussounda, yeah this will be often but I created an Attribute that maps to the endDate so I really want to update the attribute created but was using end date as an example, I wanted to test it with the correct API. Can the value of the attribute I created be updated VIA an API?

@dcoleman
You cannot directly update any identity attribute value via the API (except for the lifecycleState). However, as mentioned above, you can update the attribute value in the delimited source file, and any identity mapped to that value will be updated automatically

Hi @baoussounda ok understood. What would be the API to update the attribute related to a delimited source?

@dcoleman you can use this update-account | SailPoint Developer Community

Hi @baoussounda , I got the PATCH account API to work from Postman and it updated the end date attribute successfully, thanks for that. I am however trying to make that same API call from a workflow but getting an error in the HTTP Request (not sure what the error is, it just said failed). I am not sure what’s the inline variable to use to get the account id for the identity. I was experimenting with what you see in the screenshot below in the request URL. The end point is https://sailpoint.api.identitynow.com/v3/accounts/:id but I don’t know how to represent the ID part of the endpoint for the identity account id.

Hi @dcoleman

The URL should be like this (example for a source endpoint):

But in your case it should be :

{{$.getAccountSetp.accounts[?(@.sourceId=='yoursourceId')].id}}

or

$.accounts[?(@.sourceId=='yoursourceId')][0].id

getAccountSetp is the step that you use get accounts

yoursourceId Is your source id

This assumes that the user already has an account in your source.

Before sending the update request, you should use other operators to check if the identity really has an account in the source.

If you have only the enddate attribute you can also try to create account Sailpoint will overwritte if you the same use accountID but the best way is to try to update an existing account.

@baoussounda , thanks for the info provided. For some reason I’m still getting an request failed error at the HTTP Request action stage of the workflow and I tried both options in the request URL. I may give it a rest for now though, i’ll revisit it another time. Maybe something else is wrong somewhere else in my HTTP Request action that I’m not seeing at the moment.

Hi Mentioned API of auth-users is for authentication. Refer the below API.

@kanusha9 hi, yes I’m using the Update-Account API

1 Like

How did you manage to perform the patch? I’m having trouble running the patch… specifically in the payload

@rnakata I actually did it from a powershell script because it was easier to get the account id to do the patch. I still want to explore more with the workflow though as I would prefer it to be done that way. So I use this same end point https://sailpoint.api.identitynow.com/v3/accounts/:id and replace id with the account id in the script, then I configure what I want in the body example below
[
{
“op”: “replace”,
“path”: “/attributes/End Date”,
“value”: “30/07/2025”
}

]

@dcoleman in your did you use patch or put method ? you have to use put.

@baoussounda I used patch, I’ll explore it with put as well and see how it goes. Thank you.

You need to use below headers specifically-

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

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.