Copy link to clipboard
Copied
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?
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
...Copy link to clipboard
Copied
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)?
Copy link to clipboard
Copied
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
Copy link to clipboard
Copied
I totally missed the visibility endpoint. Thanks for pointing that out!