Shiv Gonarkar | Posts: 24

Best approach to determine signing status for each signer in a package

0 votes

Hi Team,

We are using the OneSpan REST APIs to integrate OneSpan into our e-signature journey.

We have a requirement to display the signing status of each signer for a given package/transaction. In our setup, there is typically one signer per role.

I see the following possible approaches:

Option 1: Use the Signing Status API

I can call:

GET /api/packages/{packageId}/signingStatus?signer={signerId}

The signerId can be obtained from:

GET /api/packages/{packageId}

However, this would require an additional API call for each signer in the package.

Option 2: Derive Status from Document Approvals

Another approach is to iterate through the approvals array of each document returned by the package APIs and check whether the approval corresponding to a given role contains a signed timestamp.

My assumption is:

  • If the approval for a role has a signed timestamp on all documents requiring that role's signature, then I can consider signing for that role as complete.
  • Otherwise, the signer is still pending.

Can I reliably use this logic to determine signer completion status, or are there any scenarios where it might not be accurate ?

Option 3: Callbacks/Webhooks

We are aware of the callback/webhook option, but it is not suitable for our use case because we do not persist signer information in our database.

My primary question is regarding Option 2: Is it a reliable and supported way to determine the completion status of a signer, or would you recommend using the signing status API instead?

Thanks in advance for your guidance.


Hello! Looks like you're enjoying the discussion, but haven't signed up for an account.

When you create an account, we remember exactly what you've read, so you always come right back where you left off