Skip to main content
Question

Tabs value overwritten when recipient opens document

  • December 11, 2025
  • 1 reply
  • 8 views

Forum|alt.badge.img+1

Hi, 

I have a weird behaviour I do not understand. I’m using the envlope-API to create an envelope based on a template (/restapi/v2.1/accounts/{{accountId}}/envelopes). My destination is the development tenant. 

For this API Call I use the following request body 

{
"templateId": "{{templateId}}",
"emailSubject": "Subject set by API",
"emailBlurb": "Mailbody set by API",
"templateRoles": [
{
"email": "Some.Name@test.com",
"name": "Some Name",
"roleName": "signer",
"tabs": {
"companyTabs": [
{
"value": "test Company 1",
"tabLabel": "atb.docusignFields.label-company <id>",
"locked": "true"
},
{
"value": "test Company 2",
"tabLabel": "atb.docusignFields.label-company <id>",
"locked": "true"
}
]
}
}
],
"status": "sent"
}

With this I receive a HTTP.201 Created. 

The call GET /restapi/v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}/documents/1/tabs then shows the values set in the previous POST Call.

 

However, as soon as the recipient (role “signer”) clicks on “Review Document” in the mail received, the value changes to “redceiver_test” (in the API and within the document)

 

Why? What am I doing wrong? 

Weirdly I found a workaround. When I first POST /restapi/v2.1/accounts/{{accountId}}/envelopes without the tabs and status “created” (to create a Draft)

{
"templateId": "{{templateId}}",
"emailSubject": "Subject set by API",
"emailBlurb": "Mailbody set by API",
"templateRoles": [
{
"email": "Some.Name@test.com",
"name": "Some Name",
"roleName": "signer"
}
],
"status": "created"
}

and then changing the envelope created via PUT  /restapi/v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}/recipients/1/tabs

(Hint: I got the tabId via GET /v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}/documents/1/tabs; however, these IDs seems to change from envelope to envelope, therefore I did not include them in my previous API Call)

{
"textTabs": [
{
"value": "test Company 1",
"locked": "true",
"tabLabel": "atb.docusignFields.label-company <id>",
"tabId": "<tabId>"
},
{
"value": "test Company 2",
"locked": "true",
"tabLabel": "atb.docusignFields.label-company <id>",
"tabId": "<tabId>"
}
]
}

And then sending the envelope by changing the status to sent via 

PUT /restapi/v2.1/accounts/{{accountId}}/envelopes/{{envelopeId}}

{
"status": "sent"
}

the document contains the correct values… Even after the recipient reviews the document.

 

Where does the value change to “redceiver_test” comes from in the first place? 

 

Thanks in advance, 

best wishes,

Julian

1 reply

Ivan.Dinkov
Docusign Employee
Forum|alt.badge.img+7
  • Docusign Employee
  • December 12, 2025

Hi ​@Julian Tunke 

It is very hard to say what went wrong without seeing the full API log with all the calls and their payloads

Considering you are getting tab data from GET “documents/1/tabs” it means in your template you have document prefill tabs . Where in your envelope creation call you are adding recipient tabs

I believe there might be confusion between signer and document tabs which act as tabs but behave differently .

Prefill tab whose value is set by the sender and inserted to a document prior to sending its envelope to its recipients. These tabs are visible to all recipients during signing, but cannot be edited by them. 

I’d suggest after envelope creation making a GET envelope call to retrieve all tabs (signer and document)

restapi/v2.1/accounts/account_id/envelopes/envelope_id?include=recipients,tabs,documents 

 

I hope this helps

 

Best
Ivan D