Advanced PlanField data extraction is available only on the API Advanced Plan.
Get every field on an envelope with the value its signer entered, the recipient who owns it, and any value that was pre-filled into it. It works at every status, from the moment you send the envelope to after it's signed, so you can read the first signer's values before the last signer finishes. Use the envelope's id. For older envelopes whose signed_file_id is different, that ID works too, and id in the response is always the pending_file_id.
Webhooks don't carry field values. When rs.signed or rs.completed arrives, call this endpoint with the envelope's ID. The top-level status tells you whether the values are final. They are once it's complete.
You get every field in one call, in document order (by source, then page, then top to bottom). There's no pagination.
state | What it means |
|---|---|
pending | The field's recipient hasn't finished. value is null, and any pre-filled value is in prefill. |
filled | The recipient finished, and the field has a value. |
skipped | The recipient finished and left an optional field empty. value is null. A checkbox is never skipped. |
Every value is a string or null.
| Field type | value once filled |
|---|---|
text, name, email, title | The text the signer entered. A number typed into a text field is still a string. |
date | The date as the signer saw it, such as "11/12/26". additional_info.format names the format, such as MM/DD/YY. |
checkbox | "true" or "false". Compare with "true", because "false" is a non-empty string. |
combobox | The option the signer picked, one of the strings in options. |
radio | The picked button's position in radio_positions, counting from 1, such as "2". That button has selected set to true. |
signature, initials, stamp | "applied" |
prefill lists every value the field held before its recipient finished, oldest first. prefilled_by.type is sender for prefill_value on create, or recipient for an earlier signer named in fillable_by.recipients, with that signer's recipient_id. The last entry is what the recipient saw, so compare it with value to see whether they changed it. Only text, checkbox, and combobox fields can be pre-filled, so every other type has an empty prefill.
To read one recipient's values when rs.signed arrives, pass their recipient_id. You get the fields they own. A value they pre-filled for a later signer sits in that signer's field, under prefill, so it isn't in the filtered result.
Template merge fields aren't returned, because their values are written into the document when you send it. A name or email field sent without a label comes back labeled Name or Email. A draft from embedded sending that hasn't been sent yet returns status draft_unmerged and no fields.
Known issuesRecipient groups. Each group field comes back once for every member of the group, with that member's
recipient_idand its ownfield_id. Once one member signs, the other members' copies staypendingwith anullvalue, even after the envelope iscomplete. Read the copy that belongs to the member whosestatusisfinalized. A fix is planned.Radio groups.
radio_positionscan come back in a different order from the one you sent on create.valuecounts from the order in this response, so match the picked button by itsxandy, or byselected.