A signing room link lets anyone who has it open the signing room as that person. Until now, links never expired.
API version 3.7.0 gives links an expiry date and lets you rotate them. It also moves list endpoints to cursor pagination.
Links expire
Links are generated when an agreement moves to pending, and they stay the same as the agreement moves through other lifecycle states. A new link expires at the agreement's expiration date if it has one, and after 7 days otherwise.
An expired link doesn't lock anyone out. When the person opens it, they can request a new link from the signing room. The new link replaces the old one, which stops working.
Links created while your client was on an older version don't expire, so nothing changes until you upgrade.
Rotate a link yourself
If a link has expired, or you think it reached someone it shouldn't have, rotate it:
POST /agreements/{agreement_id}/signing_room_links/{signing_room_link_id}/rotate
The old link stops working straight away, and every session opened with it ends. No email is sent, so deliver the new URL yourself.
Links are also replaced when a participant is forwarded, and revoked when a participant is removed.
Don't cache links
Because a link can be replaced while the agreement is being signed, a URL you stored earlier may no longer work. Read the link from the participant or observer when you need it.
Participants, observers, and the issuer now carry a signing_room_link object with the url, status and expires_at. signing_room_url is still returned and holds the same URL.
To hear about changes as they happen, subscribe to the generated, rotated, and revoked events. They come in three categories, agreement, participant, and observer, and each one sends that resource as data.
Learn more about signing room links
Cursor pagination
GET /agreements, GET /files, and GET /themes now page with a cursor. Each page returns limit, has_more, and next_cursor. Send next_cursor as cursor with the same order_by and filters until has_more is false.
Responses no longer include page, total_pages, or total_results, and sending page returns a 400. Clients on older versions keep offset pagination.
Search agreements
GET /agreements takes a new search parameter. It matches the main document's filename and the lookup key case-insensitively, or the agreement ID exactly, and needs at least 3 characters.
Get started
Upgrade your API client to version 3.7.0. You can do this from your API client settings on zigned.se by clicking "Upgrade".
