Help Center>Foundation Help

Forms API

This API enables you to get form details.

Form Data Sync

• Fields should be marked for reporting in the solution. Refer to section Mark Fields for Reporting for more details.

• The application stores only one or the latest version of the reporting fields for a solution.

• When syncing Form data, only the marked fields are kept in the reporting database.

• No form data is kept in the reporting database when no field is marked for reporting.

• The API exposes only the latest fields marked for reporting.

Name Description Type    Restrictions Filter Allowed
FormID Form ID mapped with the source workflow database. Integer Primary Key  N
DBStoreID ID to identify the Foundation database.  Integer Primary Key Y
ProcessID Process ID Integer Primary Key Y
SolutionID Solution ID Integer   Y
SolutionName Solution Name String   Y
SolutionKey Solution Dimension Key  Integer   Y
<<FormFields>> All form fields available that are selected for reporting from the current solution.      N
This includes Headers, Repeating tables. Excludes nested repeating tables data.
ProcessOriginator Login ID of the user who is the originator of the workflow instance. String    N
ProcessName Name of the process. String    N
ProcessCreationDate Creation date of the process. datetime format - YYYY-MM-DDTHH:mm:ss.fff 24 hour time format up to 3 digit milliseconds.    N
ProcessParentProcessId ID of the parent process. Integer    N
ProcessTaskItemTitle Title of the SharePoint List item on which the process is working. String    N
ProcessInheritanceLabel Process Inheritance label property value. String    N
ProcessDueDate Due date of the process. datetime format - YYYY-MM-DDTHH:mm:ss.fff 24 hour time format up to 3 digit milliseconds.    N
ProcessCompletionDate Completion date of the process. datetime Format - YYYY-MM-DDTHH:mm:ss.fff 24 hour time format up to 3 digit milliseconds.    N
  ProcessStatus Process status value in text.   Integer   Y
Code Description
0 - Undefined 
1 - Draft 
2 - Running 
3 - Completed 
4 - Canceled 
5 - Approved 
6 - Rejected 
7 - Blocked
WebPath Field from the Solution Name Dimension or the Relative path of the SharePoint web site. String   Y
SPWebID Field from Solution Name Dimension or the SharePoint Web GUID.   String   Y
WebName Name of SharePoint site's web. String   Y
SPSiteID Field from the Solution Name Dimension or the SharePoint Site GUID.   String   Y
SPWebAppID Field from the Solution Name Dimension, or the GUID of the Web app.  String   Y
WebApplicationName Name of the SharePoint Web Application.  String   Y

Endpoints and Methods

HTTP Method only GET is implemented.

  • Route: /v1/forms/{SolutionDimKey} - Get all form data of the specified Solution Dimension Key.

  • Route: /v1/forms/{SolutionDimKey}/{dbstoreid}/{formid} - Get form by UID of Solution Dimension key

  • Route: /dwapi/v1/forms/2?formfieldtype=lineitem - Get all reporting fields from repeating table too.

  • Route: /dwapi/v1/forms/2 - Get Form header data for solution key 2 i.e. “MaterialManagement”

Form Query parameter formfieldtype values:

  • "Header": (Default) Return data of only header field. System consider Header as default if this parameter is not defined in request URL.
  • "lineitem": Returns data of header and repeating table fields, not nested repeating table data.

URL

The URL is as follows: <<host>>/dwapi/v1/forms

Query Parameters, Descriptions, and Examples

Select

$select: This query option specifies that only the requested properties are returned. Use commas to specify multiple properties.

For example -

You can get data from specific fields only such as ProjectName, ProjectOwner, and ProcessName. Route by the following:

/dwapi/v1/forms/2?$select=ProjectName,ProjectOwner,ProcessName

Filter

$filter: This query option restricts the data to be returned for the requested resource.

You can use the following to further specify your results:

  • Built-in Filter Operations
    • Comparison operators – eq Equal, ne Not equal etc.
    • Logical operators – and Logical and, or Logical or, not Logical negation.
    • Arithmetic operators – add Addition, sub Subtraction etc.
    • Grouping operators – () Precedence grouping
  • Built-in Query Functions
    • String Functions – contains, endswith etc.
    • Date Functions – year, month, day etc.
    • Match Functions – round, floor etc.

For example -

You can filter on form data for completed projects by the following: Route:/dwapi/v1/forms/2?$filter=ProjectStatuseq 'Completed'

Orderby

$orderby: This query option requests the service to return the result set in the specified order requested.

This parameter can include asc for asending or desc for descending. Default is ascending if not specified.

$top and $skip

$top: This query option limits the items from result set.

$skip: This query option excludes the first n items from the result set.

Using $orderyby with $top and $skip results in more consistent data.

getcount

/getcount: This gets the count of result set or data queried. $filter can be used with getcount to know the count of filters result set.

This is not an Odata standard operation, it is only for the Foundation APIs.

For example -

Get the count only by the following:

/v1/ forms/getcount/{SolutionDimKey}