--- title: "Retrieving Field Values" slug: "retrieving-field-values" updated: 2024-10-16T06:23:36Z published: 2024-10-16T06:23:36Z canonical: "docs.onespan.com/retrieving-field-values" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Retrieving Field Values [Java SDK](/v1/docs/retrieving-field-values#java-sdk) [.NET SDK](/v1/docs/retrieving-field-values#net-sdk) [REST API](/v1/docs/retrieving-field-values#rest-api) [APEX SDK](/v1/docs/retrieving-field-values#apex-sdk) ## Java SDK To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/retrieve-field-values-java-sdk/) site. Once a transaction has been completed, you can retrieve the values entered in the fields by your signers. ### Creating and Sending a Transaction with Fields The first step is to create and send a transaction that has text fields. For more information, see [Adding Fields](/v1/docs/adding-fields#java-sdk). If you need a comparison to the basic object creation procedure, or if this is the first time creating a transaction, see [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Creating and Sending a Transaction](/v1/docs/creating-and-sending-a-transaction#net-sdk). Once the transaction has been signed, you can then retrieve your field values. ### Retrieving Field Values To retrieve field values, retrieve the ID of your completed transaction and create a PackageId object. The following code will do this: ```java PackageId packageId = new PackageId( "-flBLByWAFTxTKAM54ywiOgeOnI=" ); ``` Once you have done this, use your OneSpan Sign client to retrieve the field summaries of your completed transaction. Field summaries are returned to you as a list. The sample code below will loop through each field summary and print out the Signer ID, Document ID, Field ID, and the Field Value. ```java List fieldSummaries = eslClient.getFieldValues( packageId ); System.out.println( "SignerId || DocumentId || FieldId: Value\n" ); for ( FieldSummary fieldSummary : fieldSummaries ) {          System.out.println( fieldSummary.getSignerId() + " || " + fieldSummary.getDocumentId() + " || " +  fieldSummary.getFieldId() + ": " + fieldSummary.getFieldValue() ); } ``` ### Results Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/fieldvalues.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A09%3A08Z&se=2026-11-13T11%3A09%3A08Z&sr=c&sp=r&sig=4Bk13fpK4mXPThJerrI0%2FgNce1B2WEyWT5ZqdvCiQmM%3D) ## .NET SDK To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/retrieve-field-values-net-sdk/) site. Once a transaction has been completed, you can retrieve the values entered in the fields by your signers. ### Creating and Sending a Transaction with Fields The first step is to create and send a transaction that has text fields. For more information, see [Adding Fields](/v1/docs/adding-fields#java-sdk). If you need a comparison to the basic object creation procedure, or if this is the first time creating a transaction, see [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Creating and Sending a Transaction](/v1/docs/creating-and-sending-a-transaction#net-sdk). Once the transaction has been signed, you can then retrieve your field values. ### Retrieving Field Values To retrieve field values, retrieve the ID of your completed transaction and create a PackageId object. The following code will do this: ```csharp PackageId packageId = new PackageId( "-flBLByWAFTxTKAM54ywiOgeOnI=" ); ``` Once you have done this, use your OneSpan Sign client to retrieve the field summaries of your completed transaction. Field summaries are returned to you as a list. The sample code below will loop through each field summary and print out the Signer ID, Document ID, Field ID, and the Field Value. ```csharp List fieldSummaries = eslClient.FieldSummaryService.GetFieldSummary( packageId ); Console.WriteLine( "SignerId || DocumentId || FieldId: Value" ); foreach ( FieldSummary fieldSummary in fieldSummaries ) {    Console.WriteLine( fieldSummary.SignerId + " || " + fieldSummary.DocumentId + " || " +        fieldSummary.FieldId + ": " + fieldSummary.FieldValue ); } ``` ### Results Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/fieldvalues.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A09%3A08Z&se=2026-11-13T11%3A09%3A08Z&sr=c&sp=r&sig=4Bk13fpK4mXPThJerrI0%2FgNce1B2WEyWT5ZqdvCiQmM%3D) ## REST API To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/retrieve-field-values-rest-api/) site. Once a transaction has been completed, you can retrieve the values entered in the fields by your signers. ### Creating and Sending a Transaction with Fields The first step is to create and send a transaction that has text fields. For more information, see [Adding Fields](/v1/docs/adding-fields#java-sdk). If you need a comparison to the basic object creation procedure, or if this is the first time creating a transaction, see [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Creating and Sending a Transaction](/v1/docs/creating-and-sending-a-transaction#net-sdk). Once the transaction has been signed, you can then retrieve your field values. ### Retrieving Field Values Currently, there are two approaches retrieving field values. One of them is to directly call the following API: #### HTTP Request ```http GET /api/packages/{packageId}/fieldSummary?documentId={documentId} ``` #### HTTP Headers ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` #### Response Payload ```json [    {        "signerId": "4b4714f7-3a28-45c4-9358-ef7dc8b86b20",        "documentId": "574df947cae73f63ebfc07626e20b931e59e4cb90efadcdc",        "fieldId": "AAoJoUVf3r8J",        "fieldName": "",        "fieldValue": "2019-01-18T16:39:39Z"    },    {        "signerId": "4b4714f7-3a28-45c4-9358-ef7dc8b86b20",        "documentId": "574df947cae73f63ebfc07626e20b931e59e4cb90efadcdc",        "fieldId": "3jEcVDlEmC4E",        "fieldName": "",        "fieldValue": "this is a text area"    },    {        "signerId": "4b4714f7-3a28-45c4-9358-ef7dc8b86b20",        "documentId": "574df947cae73f63ebfc07626e20b931e59e4cb90efadcdc",        "fieldId": "CGceQcEa38oN",        "fieldName": "",        "fieldValue": "this is a text field"    },    {        "signerId": "4b4714f7-3a28-45c4-9358-ef7dc8b86b20",        "documentId": "574df947cae73f63ebfc07626e20b931e59e4cb90efadcdc",        "fieldId": "sYjj7qPHPP0Y",        "fieldName": "",        "fieldValue": "X"    } ] ``` > Note the following: > > - The query parameter documentId is optional. If not specified, field values for all documents will be returned. > - For each node in response JSON, signerId actually refers to the Role ID. This will remain as "null" until the signer has signed. Alternatively, you can first retrieve the specific document's metadata using the following API, and then parse the response and loop through all fields. #### HTTP Request ```http GET /api/packages/{packageId}/documents/{documentId} ``` #### HTTP Headers ```http Accept: application/json Content-Type: application/json Authorization: Basic api_key ``` #### Response Payload ```json {  "status": "",  "description": "",  "id": "sample-contract",  "signerVerificationToken": null,  "signedHash": null,  "extractionTypes": [    "TEXT_TAGS"  ],  "data": {    "ese_document_texttag_autofielddateformat": "dd/MM/yyyy 'GMT'",    "ese_document_texttag_json_0": "[{\"height\":6,\"left\":162.95,\"name\":\"{{esl:signer1:initials:size(200,50)}}\",\"page\":0,\"pageHeight\":792,\"pageWidth\":612,\"top\":135.87,\"width\":1.88397},{\"height\":6,\"left\":72.1,\"name\":\"{{esl:signer2:initials:size(200,50)}}\",\"page\":0,\"pageHeight\":792,\"pageWidth\":612,\"top\":197.45,\"width\":1.88397}]",    "ese_document_texttag_extract_needed": "true",    "ese_document_texttag_handled_roles": "[\"signer2\",\"signer1\"]"  },  "approvals": [    {      "role": "signer1",      "id": "5d98a944-1499-4e89-a91c-a90516a382fa",      "data": null,      "signed": "2017-11-07T20:25:13Z",      "accepted": "2017-11-07T20:25:12Z",      "fields": [        {          "binding": null,          "validation": null,          "id": "5d98a944-1499-4e89-a91c-a90516a382fa",          "page": 0,          "data": null,          "subtype": "INITIALS",          "height": 50,          "width": 200,          "left": 211,          "top": 176,          "extract": false,          "extractAnchor": null,          "value": "",          "name": "5d98a944-1499-4e89-a91c-a90516a382fa",          "type": "SIGNATURE"        }      ],      "name": "5d98a944-1499-4e89-a91c-a90516a382fa"    },    {      "role": "signer2",      "id": "09b320a7-1ae5-4ce4-8d29-93822a10287b",      "data": null,      "signed": "2017-11-07T20:19:47Z",      "accepted": "2017-11-07T20:19:46Z",      "fields": [        {          "binding": null,          "validation": null,          "id": "09b320a7-1ae5-4ce4-8d29-93822a10287b",          "page": 0,          "data": null,          "subtype": "INITIALS",          "height": 50,          "width": 200,          "left": 94,          "top": 256,          "extract": false,          "extractAnchor": null,          "value": "",          "name": "09b320a7-1ae5-4ce4-8d29-93822a10287b",          "type": "SIGNATURE"        }      ],      "name": "09b320a7-1ae5-4ce4-8d29-93822a10287b"    }  ],  "pages": [    {      "id": "",      "height": 1030,      "width": 796,      "left": 0,      "top": 0,      "index": 0,      "version": 0    }  ],  "external": null,  "extract": true,  "index": 0,  "fields": [],  "name": "Test Document",  "size": 189550 } ``` Next, you will need to parse the response to JObject and loop through each field object and print out the Signer ID, Document ID, Field ID, and the Field Value. ### Results Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/fieldvalues.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A09%3A08Z&se=2026-11-13T11%3A09%3A08Z&sr=c&sp=r&sig=4Bk13fpK4mXPThJerrI0%2FgNce1B2WEyWT5ZqdvCiQmM%3D) ## APEX SDK To download the full code sample see our [Code Share](https://community.onespan.com/documentation/onespan-sign/codeshare/retrieve-field-values-apex-sdk/) site. Once a transaction has been completed, you can retrieve the values entered in the fields by your signers. ### Creating and Sending a Transaction with Fields The first step is to create and send a transaction that has text fields. For more information, see [Adding Fields](/v1/docs/adding-fields#java-sdk). If you need a comparison to the basic object creation procedure, or if this is the first time creating a transaction, see [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Creating and Sending a Transaction](/v1/docs/creating-and-sending-a-transaction#net-sdk). Once the transaction has been signed, you can then retrieve your field values. ### Retrieving Field Values To retrieve field values, retrieve the ID of your completed transaction and use the following encapsulated function to retrieve the field summaries of your completed transaction. ```plaintext   public List getFieldValues(String packageId) ``` Once you have done this, use your OneSpan Sign client to retrieve the field summaries of your completed transaction. Field summaries are returned to you as a list. The sample code below will loop through each field summary and print out the Signer ID, Document ID, Field ID, and the Field Value. ```plaintext List fieldSummarys = getFieldValues('ZkFpiKRSLubIVJFyFC3jezR-084='); for(TestFieldValues.FieldSummary fieldSummary: fieldSummarys){ System.debug(fieldSummary.signerId  + ' || ' + fieldSummary.documentId + ' || ' + fieldSummary.fieldId + ' || ' + fieldSummary.fieldValue); } ``` ### Results Here is an example of what you can expect to see once you have run your code. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/field-values-1.png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A09%3A08Z&se=2026-11-13T11%3A09%3A08Z&sr=c&sp=r&sig=4Bk13fpK4mXPThJerrI0%2FgNce1B2WEyWT5ZqdvCiQmM%3D)