PUT Form Fields API is not working consistently
- January 27, 2026
- 1 reply
- 115 views
We are building an Adobe Sign integration in our application for our customers.
We use Adobe Sign REST APIs to create and send agreements with dynamic signature positions provided by our users. To implement this, we followed the approach described in the article below:
https://helpx.adobe.com/sign/kb/formfields-option-is-not-available-in-v6-of-rest-api-adobe-sign.html
Current implementation flow:
Based on above, we are following below steps in our application now to send agreements.
- Create the agreement in AUTHORING state using POST /agreement.
- Get all members (to get participant set IDs) using GET /agreement/{{agreement-id}}/members.
- Call PUT /agreement/{{agreement-id}}/formFields to update signature positions on the document.
- If PUT /agreement/{{agreement-id}}/formFields (step # 3) fails, wait for 1 second and then retry step # 3. We repeat this until the call succeeds or the maximum retry limit (5 attempts) is reached.
Note: The wait and retry logic was added based on guidance from the discussion thread we had started on older Adobe Sign community thread. The discussion thread in older community forum is no more accessible.
Once above is completed, the document moves to OUT_FOR_SIGNATURE as suggested on the discussion thread in older community forum.
Issue we are facing currently:
With above logic implemented, we are finding a intermittent (but frequent) issue:
- The PUT /agreement/{{agreement-id}}/formFields call returns success within the maximum retry attempts.
- But, when we open the document sent to signer, the signature block is not present.
- When we subsequently callGET /agreement/{agreement-id}/formFields, the response shows that the form fields do not match those sent in, or returned from, PUT /agreement/{agreement-id}/formFields.
I am attaching
(1) a sample document we are using.
(2) JSON request for POST /agreement.
(3) JSON request for PUT /agreement/{{agreement-id}}/formFields.
(4) JSON response for PUT /agreement/{{agreement-id}}/formFields.
(5) JSON response for GET /agreement/{{agreement-id}}/formFields.
Could you please help us understand what could be the issue?
