Skip to main content
Known Participant
December 21, 2023
Answered

Deleting Agreements to Reduce API Load

  • December 21, 2023
  • 2 replies
  • 807 views

I'm integrating the Adobe Sign API into an app I'm developing. One feature of my app is to view a list of all outstanding agreements. To do this, I need to hit the endpoint to grab all agreements for the account.

 

As is mentioned in another post on this forum, there is no way to filter the results of the API call to grab all agreements. That being the case, I assumed the only way to reduce the results returned by that call is to delete any cancelled or completed agreements. Otherwise the list of agreements returned by that API will continue to grow over time and that API call will get slower and slower as it needs to request multiple pages of results and concatenate them.

 

However, that doesn't appear to be possible either. At least, not without contacting Adobe support and requesting that they enable the delete API endpoint for your account. So I'd need to advise all users of my application to do that in order to prevent my app gradually getting slower over time. I'm not sure why deletion isn't enabled by default, or if it's possible for the support team to deny this option for a given account (I'm reaching out to them shortly to ask).

 

So my question is: is my understanding correct here? Is there no other way to limit the results returned by the "get all agreements" API call besides contacting support and asking them to enable the option on my account? Is there some other type of "archiving" feature that I'm missing here?

This topic has been closed for replies.
Correct answer atsmusz_as_dsEng

Hi @Stephane30690527gegt ,

 

What you probably want to do is "hide" the agreements that you no longer wish to process (terminal state agreements).

https://secure.adobesign.com/public/docs/restapi/v6#!/agreements/updateAgreementVisibility

 

Then, when calling GET /agreements, you can pass the query parameter showHiddenAgreements = false

 

Alternately you can use the "search" endpoint and filter based on a specific "status".

https://secure.adobesign.com/public/docs/restapi/v6#!/search/searchResources

 

 

 

 

2 replies

atsmusz_as_dsEng
Adobe Employee
atsmusz_as_dsEngCorrect answer
Adobe Employee
January 9, 2024

Hi @Stephane30690527gegt ,

 

What you probably want to do is "hide" the agreements that you no longer wish to process (terminal state agreements).

https://secure.adobesign.com/public/docs/restapi/v6#!/agreements/updateAgreementVisibility

 

Then, when calling GET /agreements, you can pass the query parameter showHiddenAgreements = false

 

Alternately you can use the "search" endpoint and filter based on a specific "status".

https://secure.adobesign.com/public/docs/restapi/v6#!/search/searchResources

 

 

 

 

Aaron Smusz - Data Science Engineering - Adobe Acrobat Sign
Known Participant
January 17, 2024

I totally missed the visibility endpoint. Thanks for pointing that out!

Known Participant
December 21, 2023

Based on some further research, it doesn't even look like they give you the option to fully delete an agreement. You can only enable the option to delete all documents in the agreement. I'm assuming that means the agreement will still show up in the API call to get all agreements. It looks like maybe you can do this in UI if you set yourself as a "Privacy Admin", but that doesn't allow deletion from the API.

 

There are options to delete agreement documents after a certain period of time has elapsed after the agreement has been completed/expired/cancelled. But that is still only deleting the docs and not the full agreement, so that doesn't solve my problem. That would also require my users to download the completed docs before that retention period expires - and they would lose access to the agreement documents forever if they miss that window.

 

Why can't I allow my users to delete their own agreements when they choose to (ie. after the agreement has been completed and docs downloaded, or after it has been cancelled)?